ss 和 netstat 區別
netstat是遍歷/proc下面每個PID目錄;
ss直接讀/proc/net下面的統計信息。
所以ss執行的時候消耗資源以及消耗的時間都比netstat少很多
netstat 操作
# 幾十萬並發的情況下netstat會沒有響應,建議使用 ss 命令 -a # 顯示所有連接中的Socket -t # 顯示TCP連接 -u # 顯示UDP連接 -n # 顯示所有已建立的有效連接 netstat -anlp # 查看鏈接 netstat -r # 查看路由表 netstat -ano |getp server # 查看server 服務端口
示例:
# netstat -ln # l表示顯示當前系統監聽的端口信息;n表示端口按照端口號來顯示,而不轉換為 service文件中定義的端口名;若希望了解各個端口都是由哪些進程監聽則可以使用p參數。 若發現不需要的服務, 可以使用linuxconf或ntsysv命令來關閉這些服務在系統啟動時自 啟動,然后重新啟動系統則這些服務將在運行。 有些服務是由inetd超級服務器來監控的,則需要標記/etc/inetd.conf來關閉這些服務。 # netstat -lntp # 查看開啟了哪些端口 # netstat -r # 本選項可以顯示關於路由表的信息 # netstat -a # 本選項顯示一個所有的有效連接信息列表 # netstat -an|grep 8080 # netstat -na|grep -i listen # 可以看到目前系統偵聽的端口號 # netstat -antup # 查看已建立的連接進程,所占用的端口。
ss 查看 :
ss -s # 列出當前socket詳細信息 ss -l # 顯示本地打開的所有端口 ss -pl # 顯示每個進程具體打開的socket ss -t -a # 顯示所有tcp socket ss -u -a # 顯示所有的UDP Socekt ss dst 192.168.119.113 # 匹配遠程地址 ss dst 192.168.119.113:http # 匹配遠程地址和端口號 ss dst 192.168.119.113:3844 # 匹配遠程地址和端口號 ss src 192.168.119.103:16021 # 匹配本地地址和端口號 ss -o state established '( dport = :smtp or sport = :smtp )' # 顯示所有已建立的SMTP連接 ss -o state established '( dport = :http or sport = :http )' # 顯示所有已建立的HTTP連接 ss -x src /tmp/.X11-unix/* # 找出所有連接X服務器的進程