1. 程式人生 > >Linux 檢視開啟的網路埠

Linux 檢視開啟的網路埠

使用netstat

netstat -nape 可以列出所有已經建立連線和listening狀態的埠

對於嵌入式busybox,可能不支援列出開啟埠的程式名,方法有兩個:

  1. 配置busybox

重新編譯busybox,支援-p選項列出程式名

  1. 通過/proc檔案系統查詢

檢視系統開啟的所有tcp埠

a)cat /proc/net/tcp

local_address 列就是ip:port ,這裡都是16進位制的

inode: 開啟的socket對於的inode

b)查詢inodeno對應的程序號

for dir in `find /proc/ -name "fd"`; do ls -l $dir | grep 'socket\:\[13849\]' && echo $dir;done

c)根據程序號得到程序的名字

head -n 1 /proc/2135/status

可以看出3841,對於的10進製為14401,開啟該埠的程式名為sshd

通過該方法同樣可以檢視udp開啟的埠,netstat程式實際上就是通過過程顯示的開啟埠資訊

對於client端,該方法並不適用,這時就要用到iptables的log功能,iptables invalid output會打印出所有被丟棄的資料包,其中會看到對於的埠號