1. 可以通过"~$ netstat -anp" 来查看哪些端口被打开。
(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号)
2. 然后可以通过"~$ lsof -i:$PORT"查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。
(注:有些端口通过netstat查不出来,更可靠的方法是"~$ sudo nmap -sT -O localhost")
3. 若要关闭某个端口,则可以:
1)通过iptables工具将该端口禁掉,如:
"~$ sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"~$ sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者关掉对应的应用程序,则端口就自然关闭了,如:
"~$ kill -9 PID" (PID:进程号)
如: 通过"~$ netstat -anp | grep ssh"
有显示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
则: "~$ kill -9 7546"
(可通过"~$ chkconfig"查看系统服务的开启状态)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yjier/archive/2011/05/25/6444198.aspx
TIME_WAIT是TCP的状态,你
netstat
看到的是网络连接,不是进程。自然也就不能Kill
了。
如果确认网络状态较好,可以减小
TCP的参数,这样可以使TIME_WAIT的时间减少,从而也就减少了TIME_WAIT的数量。一般情况下不建议修改这些参数。
不太明白你要做什么。在这儿说一下我所了解的你所说的关闭端口的几个方法,不对之处请纠正:1、完全关闭端口的话,关掉开启这个端口的服务。用netstat、ps、kill等命令可以实现;
2、限制对端口的访问的话可以通过防火墙实现,防火墙有软防和硬防。软防就是想iptables这类的软件防火墙,在linux系统中配置iptables规则限制端口访问。硬防就是硬件防火墙,单独的一台设备,一般挂在服务器所在网络的外层,起到保护的作用。硬防上面也是来配置相应的规则来放开或者关闭某IP地址的某端口。
还有手动开启关闭端口的命令,可能不在你问的范围之内。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)