端口操作

说明: 端口的开启与关闭实际上是通过/etc/rc.d/的启动守护进程的启动与关闭来实现的,不要使用kill -9 来直接的杀死进程,这样容易使系统出现问题.

如: 要找到25端口的程序,并将它关闭
1.使用netstat来进行查看:
 [root@mycentos ~]# netstat -anp | more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State          PID/Program name
tcp        0      0 0.0.0.0:806                 0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN     
tcp        0      0 0.0.0.0:23                  0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN     
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN                 2030/master
tcp        0      0 :::22                       :::*                        LISTEN     

2.现在知道它的端口对应程序为master.但是它具体是什么程序呢?
locate  master | grep '/master$'
使用搜索locate搜索命令来查找master所对应的包含文件有哪些.
/user/libxec/postfix/master

3.通过rpm命令来知道它所对应的程序名以及独立守护进程的存放位置
rpm -qf   /user/libxec/postfix/master
结果为: postfix-2.2-2
打到相应的程序了

4.找到该守护进程的具体在init下的哪个文件中
rpm -qc  postfix | grep init
查找的结果为:   /etc/init.d/postfix


5. 最后只需要将它进行关闭就可
/etc/init.d/postfix  stop

永久方案:

开机就启动或者是关闭端口
说明实例: 查找某一个端口是不是开户就启动?如果是则如何设置成开机不启动?如何来设置立即关闭端口相关的map服务?

1.使用chkconfig --list | grep  端口号         来查找是否进行了开机就启动端口, 如果无法使用,则可以将端口号修改成程序名【可以使用nmap来寻找】

2. 如果有启动,则可以通过  chkconfig --level 35  端口号/程序名 off

3.通过修改守护进程的程序/etc/init.d/端口号所对应的程序名 stop就可





前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。

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"查看系统服务的开启状态)

posted on 2012-02-27 17:08  kudosharry  阅读(238)  评论(0编辑  收藏  举报

导航