2、列出所有 tcp 端口 #netstat -at
3、列出所有 udp 端口 #netstat -au
4、只显示监听端口 #netstat -l
5、只列出所有监听 tcp 端口 #netstat -lt
6、只列出所有监听 udp 端口 #netstat -lu
7、列出所有监听 UNIX 端口 #netstat -lx
8、显示所有端口的统计信息 #netstat -s
9、显示 TCP 或 UDP 端口的统计信息 #netstat -st 或 -su
10、 输出中显示 PID 和进程名称 #netstat -p
11、netstat 输出中不显示主机,端口和用户名 (host, port or user)
一、最常用的方法:1,netstat -an
2,lsof -i
以上两个命令通过查询网络堆栈列举正在监听网络的端口。
eg:检查某一端口的监听信息
netstat -anp | grep 端口号
lsof -i | grep 端口号
二、用端口扫描器nmap来检查哪些端口正在监听网络
eg:判定哪些端口在监听来自网络上的 TCP 连接是:
nmap -sT -O localhost
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"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)