一、netstat-antp介紹
Netstat 是一個網絡管理工具,用於顯示網絡連接、路由表和網絡接口信息等。其中在Linux系統中,netstat -antp是常用的命令。其中a表示顯示所有的網絡連接,n表示以數字形式展示結果,t表示僅顯示TCP連接狀態,p表示顯示程序名和程序ID,即在對應的端口上運行的進程信息。
$ netstat -antp
下面是netstat -antp的部分輸出信息:
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 52 192.168.1.100:22 192.168.1.101:51628 ESTABLISHED 2852/sshd: chen tcp 0 0 192.168.1.100:22 192.168.1.101:50704 ESTABLISHED 5232/sshd: chen tcp 0 0 192.168.1.100:22 192.168.1.101:32394 ESTABLISHED 23649/sshd: root
二、netstat-antp用途
通過netstat-antp命令,我們可以檢查哪些應用程序正在訪問網絡,可以及時發現網絡連接問題,可以判斷是否出現DOS攻擊等安全問題。同時,通過netstat -antp還可以查看某一進程所使用的端口,這對於調試網絡問題非常有幫助。
三、netstat-antp常用參數
除了上面介紹的-a、-n、-t和-p參數,netstat還有其他常用參數。
-l參數
使用-l參數可以顯示所有開放的監聽端口。
$ netstat -antlp |grep LISTEN
下面是使用-l參數的部分輸出信息:
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 10215/php-fpm: mast tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 851/mysqld
-u參數
使用-u參數可以查看UDP連接信息。
$ netstat -anup
-e參數
使用-e參數可以查看擴展信息,包括用戶ID、所屬組、進程名稱等。
$ sudo netstat -antpe
下面是使用-e參數的部分輸出信息:
tcp 0 0 192.168.1.100:22 192.168.1.101:51628 ESTABLISHED 0 405701 - tcp 0 0 192.168.1.100:22 192.168.1.101:50704 ESTABLISHED 0 408925 - tcp 0 0 192.168.1.100:22 192.168.1.101:32394 ESTABLISHED 0 456688 -
-s參數
使用-s參數可以查看網絡統計信息,包括傳輸層連接數、數據包傳輸情況等。
$ netstat -s
四、命令應用舉例
1.查看某一端口的佔用情況
假設我們想查看3306端口是否被佔用,可以使用以下命令:
$ netstat -anpt | grep 3306
2.查看某一進程的監聽端口
假設我們想知道MySQL數據庫所使用的端口號,可以使用以下命令:
$ sudo netstat -anpt | grep mysqld
3.查看網絡連接數統計信息
使用以下命令可以查看網絡連接數和傳輸層連接數:
$ netstat -s | grep -E "established|SYN_SENT|SYN_RECV|FIN_WAIT1|FIN_WAIT2|TIME_WAIT|CLOSE_WAIT|LAST_ACK|LISTEN"
五、小結
netstat-antp是一個非常有用的網絡管理工具,它可以從多個方面幫助我們分析網絡連接情況。我們可以通過不同的參數來查看開放的端口、UDP連接狀態、進程信息等,還可以用它來檢測網絡安全問題和調試網絡連接錯誤等問題。在實際的運維和開發工作中,掌握netstat-antp命令的使用非常重要。
原創文章,作者:SFFF,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/131431.html