centos监听端口 本地监听端口
大家好,今天给各位分享centos监听端口的一些知识,其中也会对本地监听端口进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
centos 查看哪个端口被占用并杀掉
但往往很多时候只需要查看某个端口的使用情况,它到底被那个进程(对应PID)占用了,或者你还需要把它Kill掉。如果你在Windows操作系统,你可以使用netstat命令来查询PID,然后可以打开任务管理器,查看这个PID对应的进程名;如果PID没有显示,菜单》查看》选择列》选中PID即可;得知进程后,我们可以将进程杀掉。下面我简单描述一下我所了解的在Windows和Linux系统下处理方式。(假如我们需要确定谁占用了我们的9010端口)1、Windows平台在windows控制台窗口下执行:netstat-nao|findstr"9010"TCP127.0.0.1:90100.0.0.0:0LISTENING3017你看到是PID为3017的进程占用了9010端口,如果进一步你想知道它的进程名称,你可以使用如下命令:tasklist|findstr"3017"如果你想杀死这个进程,你当然可以用前面描述的那种方法,在任务管理器里把它KILL了,但如果你喜欢高效一点,那么用taskkill命令就可以了。taskkill/pid3017那么这个进程就灰灰湮灭了:)2、Linux如果你是个Linux爱好者,那个这个命令你应该很熟了,netstat-pan|grep9010如果你稍微仔细一点,你会发现,用的都是netsta命令,事实上,netstat是一个比较通用的网络统计命令,几乎适用于所有现在流行的操作系统,无论是Linux,Window,还是其他Unix,或者Unix-like操作系统,而且用法基本一致。下面是一个对Windows系统中netstat命令行参数的详细解释。格式:netstat[-a][-e][-n][-o][-pProtocol][-b][-r][-s][-v][Interval]参数说明:-a显示所有连接和监听端口。-n以数字形式显示地址和端口号。-o显示与每个连接相关的所属进程ID。-p在Windows系统中,该选项用于指定默认情况的子集。proto显示proto指定的协议的连接;proto可以是下列协议之一:TCP、UDP、TCPv6或UDPv6。如果与-s选项一起使用以显示按协议统计信息,proto可以是下列协议之一:IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP或UDPv6。-b显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件拥有多个独立组件,并且在这些情况下;包含于创建连接或监听端口的组件序列被显示。这种情况下,可执行组件名在底部的[]中,顶部是其调用的组件,等等,直到TCP/IP部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。-e显示以太网统计信息。此选项可以与-s选项组合使用。-s显示按协议统计信息。默认地,显示IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP和UDPv6的统计信息。-r显示路由表。-v与-b选项一起使用时将显示包含于为所有可执行组件创建连接或监听端口的组件。interval重新显示选定统计信息,每次显示之间暂停时间间隔(以秒计)。按CTRL+C停止重新显示统计信息。如果省略,netstat显示当前配置信息(只显示一次)。
centos7查看端口是否开放
对于服务器操作系统来说,对外暴露一些不必要的端口都是非常危险的。因此,在管理服务器的时候,知道开放了哪些服务器端口对于运维人员来说算是一项基本技能。下面我们来看看,怎么知道服务器开放了哪些端口。
一、在本机上查看
在CentOS主机上查看当前主机在监听哪些端口的命令是netstat,常用的命令是: netstat-tlunp这个命令会显示出当前主机打开的所有端口,显示结果如下所示,从图中可以看到目前主机上开放的端口tcp端口的22和25,upd的68号端口
而端口名称后面关联了对应的进程名称,如下面图中所示。这里需要注意的是,如果你的服务器是公网服务器,你在公网上开放了22号端口,那么你的主机就会被公网上很多扫描器扫描,然后尝试爆破你的账号密码,来黑掉你的服务器。解决方法一般是通过修改特定服务监听的端口,如下面第二张图中所示,修改后的sshd进程监听的端口有22和63213端口,那么我把这个端口暴露出去,被扫描的纪律就小很多了。
上面这个命令查看的是服务器上的进程对外监听的端口,但是在CentOS7中,默认会打开firewalld防火墙,如果防火墙打开后,默认情况下只会监听在22号端口,也就是说主机对外暴露的端口只有22。如下面图中所示,查看防火墙开放端口的命令是 iptables-save结果如下面第二张图中所示:
如果想增加对外开放的端口,就需要通过防火墙的管理命令firewalld-cmd,例如我想开放80端口,那么命令就是: firewall-cmd--zone=public--add-port=80/tcp--permanent firewall-cmd--reload第一条命令是添加端口,第二条命令是重载防火墙。
看到sucess字样后,再使用iptables-save命令查看端口,可以看到,对外放开的端口增加了80.
如果你的服务器是内网服务器,那么是基本上你的服务器端口只会向内网放开,而不会向公网开放,如果想对公网开放,那么必须通过端口映射来实现,如下面图中所示,在服务器前端再加了一层防火墙。
以我使用的一款防火墙为例,登录以后,进入到管理页面,点击高级选项。然后点击里面的端口映射,就可以看到第二张图中所示的内容,会显示外部端口,内部服务器IP,内部端口。如果将防火墙上的8000端口映射到内部某台服务器的8000端口,那么对外开放的就是8000端口。但是如果把防火墙上的8000端口映射到内部服务器的22端口,那么实际暴露的就是22号端口。以上就是在CentOS 7主机上查看开放端口的所有内容。
二、在其他主机上通过软件侦测
在CentOS 7上有一个比较好用的端口侦测工具叫做nmap,首先看你的主机上是否安装了这个工具,命令是:rpm-qa| grep nmap如果安装了,那么就会显示对应的安装包。
安装完成了以后,就可以使用这个命令来扫描了,扫描的命令格式是: nmap ip_address ip_address就是你要扫描的主机IP地址。如下面图中所示:很快就会显示出这台CentOS7虚拟机对外暴露的端口了,而且注意,这是实际对外暴露的端口。
linux 启动服务 默认监听ipv6端口
第一种方法
# echo 1>/proc/sys/net/ipv6/bindv6only
# echo"net.ipv6.bindv6only= 1">>/etc/sysctl.conf
第二种方法
让系统不加载ipv6相关模块,这需要修改modprobe相关设定文件,为了管理方便,我们新建设定文件/etc/modprobe.d/ipv6off.conf,内容如下,三种方式,总有一款适合你:
aliasnet-pf-10 off
options ipv6 disable=1
或者 installipv6/bin/true
或者 installipv6/sbin/modprobe-n-i ipv6
注意,如果你使用了网卡绑定(bond)技术,而且不希望用ipv6,那么你使用第一种,否则系统启动时,bonding模块可能会加载失败。