Linux ss 热点,在Linux系统下的ss命令(socket statistics)各种使用示例
本文演示在Linux操作系統下的ss命令(socket statistics)的各種使用示例。ss(套接字統計信息)是一個命令行工具,用于監視套接字連接并顯示Linux系統的套接字統計信息。它可以顯示PACKET套接字、TCP套接字、UDP套接字、DCCP套接字、RAW套接字、Unix域套接字等的統計信息。它是netstat命令的絕佳替代品,另外,ss命令比netstat命令要快得多,并且可以打印出更詳細的網絡統計信息。如果您熟悉netstat命令,您將更容易理解ss命令,因為它使用類似的命令行選項來顯示網絡連接信息。參考使用netstat命令來檢查Linux中的TCP連接狀態。
1、列出所有socket連接和查看所有socket連接
1]、列出所有socket連接
基本的ss命令,不帶任何參數,它顯示所有套接字或網絡連接,如下所示:
$ ss
輸出信息解釋:
Netid–套接字類型。常見的類型是TCP、UDP、u_str(Unix流)和u_seq(Unix序列)。
State–套接字的狀態。常見狀態為ESTAB(已建立)、UNCONN(未連接)、LISTEN(正在偵聽)、CLOSE-WAIT和SYN-SENT。
Recv-Q–隊列中收到的數據包數。
Send-Q–隊列中已發送數據包的數量。
Local Address:Port–本地計算機和端口的地址。
Peer Address:Port–遠程計算機和端口的地址。
默認輸出一次顯示數千行,部分輸出在終端上不可見,因此請使用“less”命令進行分頁報告。
$ ss | less
2]、查看所有socket連接
查看您的Linux系統上的所有偵聽和非偵聽套接字連接,運行:
$ ss -a
2、查看所有監聽套接字和顯示TCP套接字連接
1]、查看所有監聽套接字
僅顯示Linux系統上的偵聽套接字連接,運行:
$ ss -l
2]、顯示TCP套接字連接
僅顯示Linux系統上的TCP套接字連接,運行:
$ ss -t
默認情況下,“t”選項僅報告“已建立”或“已連接”的tcp套接字,而不報告“LISTENING”的tcp套接字。如果您想一次查看所有內容,請將“-a”選項與“-t”一起使用:
$ ss -ta
顯示UDP套接字連接:
$ ss -ua
顯示UNIX套接字連接:
$ ss -xa
顯示RAW套接字連接:
$ ss -wa
3、僅打印偵聽的TCP套接字連接
要僅打印偵聽的TCP套接字連接,請運行:
$ ss -ltn
4、列出IPv4和Ipv6套接字連接和使用ss命令打印進程名稱和pid
1]、列出IPv4和Ipv6套接字連接
要僅顯示IPv4套接字連接,請運行:
$ ss -4
要僅列出IPv4偵聽TCP套接字連接,請運行:
$ ss -tl4
對于IPv6,運行:
$ ss -6
$ ss -tl6
2]、使用ss命令打印進程名稱和pid
要列出與網絡連接關聯的進程名稱和pid,請運行以下命令,您需要以sudo特權運行此命令以查看所有進程名稱和關聯的pid:
$ sudo ss -ltp
5、顯示套接字連接的計時器信息和打印摘要統計
1]、顯示套接字連接的計時器信息
要顯示套接字連接有效的時間,請運行:
$ ss -tn -o
2]、打印摘要統計
要查看所有套接字連接的總體摘要,請運行以下命令。它以表格格式打印結果,其中包括TCP和UDP、IPv4和IPv6套接字連接的數量:
$ ss -s
6、查看套接字連接的擴展輸出和顯示套接字連接的內存使用情況
1]、查看套接字連接的擴展輸出
要查看套接字連接的擴展輸出,請運行以下命令。擴展的輸出將顯示套接字的uid和套接字的inode編號:
$ ss -lte
2]、顯示套接字連接的內存使用情況
要查看套接字連接消耗了多少內存,請運行:
$ ss -ltm
7、使用ss命令過濾連接
ss命令允許進行高級篩選,該高級篩選可用于篩選特定的連接或統計信息或端口或地址或服務等。
1]、按套接字狀態過濾套接字連接
語法:ss [option] [state] [name of the socet state]
要顯示所有處于“偵聽”狀態的tcp套接字,請運行:
$ ss -lt state established
另一個常見狀態可以是:listening、closed、syn-sent、syn-recv、fin-wait-1、time-wait、close-wait、connected、synchronized。
2]、按端口號過濾套接字連接
語法:
ss [option] dport = :[port number]
ss [option] sport = :[port number]
ss [option] '( dport = :[port number] or sport = :[port number] )'
要根據端口號過濾套接字,請運行以下命令。例如,要過濾ssh服務,可以根據需要運行以下命令:
$ ss -at dport = :22
$ ss -lt sport = :22
$ ss -at dst :22
$ ss -at src :22
$ ss -at '( dport = :22 or sport = :22 )'
示例截圖如下:
要一次過濾多個端口,請運行:
$ ss -nt '( dst :443 or dst :22 )'
3]、按服務名稱過濾套接字連接
同樣,您可以根據服務名稱過濾套接字連接,然后運行。
$ ss -at dport = :ssh
$ ss -lt sport = :ssh
$ ss -at dst :https
$ ss -at src :ssh
$ ss -at '( dport = :ssh or sport = :ssh )'
$ ss -at '( dst :https or dst :ssh )'
$ ss -at '( dst :https or src :ssh )'
$ ss -at '( src :smtp or src :ssh )'
示例截圖如下:
4]、按IP地址過濾套接字連接
要列出到特定目標IP地址的連接,請運行:
語法:ss [option] dst [IP Address]
例如,要查看建立到特定IP地址的連接的列表,請運行:
$ ss -at dst 192.168.43.40
最后,如果要瀏覽本文中沒有的其他任何選項,請訪問ss命令手冊頁,只需要運行以下命令即可:
$ man ss
或者:
$ ss --help
相關主題
總結
以上是生活随笔為你收集整理的Linux ss 热点,在Linux系统下的ss命令(socket statistics)各种使用示例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 按键消息,在androi
- 下一篇: 服务器io修改,更改 Linux I/O