ss和netstat的區(qū)別

轉(zhuǎn)載自 https://blog.csdn.net/weixin_42816196/article/details/86580834
原作者:坑人螺絲釘 2019-01-21 18:00:44 3914 收藏 10
分類專欄: 基礎(chǔ)知識(shí) 運(yùn)維服務(wù)

從下面這個(gè)圖來(lái)看坚冀,netstat和ss都是網(wǎng)絡(luò)相關(guān)的監(jiān)控瞄崇,netstat在協(xié)議棧中每一層都可以做監(jiān)控統(tǒng)計(jì):TCP、路由表件已、網(wǎng)絡(luò)接口嚣潜、協(xié)議等更舞,但是在Linux中掠剑,netstat已經(jīng)不為推薦竟痰,取而代之的是ss尚胞。


image

1. netstat參數(shù)和使用

常用參數(shù)-anplt
-a 顯示所有活動(dòng)的連接以及本機(jī)偵聽(tīng)的TCP济炎、UDP端口
-l 顯示監(jiān)聽(tīng)的server port
-n 直接使用IP地址,不通過(guò)域名服務(wù)器
-p 正在使用Socket的程序PID和程序名稱
-r 顯示路由表
-t 顯示TCP傳輸協(xié)議的連線狀況
-u 顯示UDP傳輸協(xié)議的連線狀況
-w 顯示RAW傳輸協(xié)議的連線狀況

[root@king ~]# netstat -anutlp | grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      8218/httpd     

在Linux下辐真,raw格式的數(shù)據(jù)通承肷校可以通過(guò)/proc/net/dev獲得。在Windows平臺(tái)侍咱,netstat信息可以通過(guò)IP Helper API的GetTcpTable和GetUdpTable函數(shù)獲得耐床。

2. ss(socket statistics)參數(shù)和使用

常用參數(shù)和netstat類似,如-anp
-a顯示所有的sockets
-l顯示正在監(jiān)聽(tīng)的
-n顯示數(shù)字IP和端口楔脯,不通過(guò)域名服務(wù)器
-p顯示使用socket的對(duì)應(yīng)的程序
-t只顯示TCP sockets
-u只顯示UDP sockets
-4 -6 只顯示v4或v6V版本的sockets
-s打印出統(tǒng)計(jì)信息撩轰。這個(gè)選項(xiàng)不解析從各種源獲得的socket。對(duì)于解析/proc/net/top大量的sockets計(jì)數(shù)時(shí)很有效
-0 顯示PACKET sockets
-w 只顯示RAW sockets
-x只顯示UNIX域sockets
-r嘗試進(jìn)行域名解析昧廷,地址/端口

[root@king ~]# ss -anutlp | grep 80
tcp    LISTEN     0      128      :::80                   :::*                   users:(("httpd",pid=8223,fd=4),("httpd",pid=8222,fd=4),("httpd",pid=8221,fd=4),("httpd",pid=8220,fd=4),("httpd",pid=8219,fd=4),("httpd",pid=8218,fd=4))

# 統(tǒng)計(jì)信息
[root@king ~]# ss -s
Total: 599 (kernel 1020)
TCP:   9 (estab 1, closed 1, orphaned 0, synrecv 0, timewait 0/0), ports 0


Transport Total     IP        IPv6
*     1020      -         -        
RAW   1         0         1        
UDP   6         3         3        
TCP   8         4         4        
INET      15        7         8        
FRAG      0         0         0        

3. 原理對(duì)比

ss比netstat快的主要原因是堪嫂,netstat是遍歷/proc下面每個(gè)PID目錄,ss直接讀/proc/net下面的統(tǒng)計(jì)信息木柬。所以ss執(zhí)行的時(shí)候消耗資源以及消耗的時(shí)間都比netstat少很多皆串。
當(dāng)服務(wù)器的socket連接數(shù)量非常大時(shí)(如上萬(wàn)個(gè)),無(wú)論是使用netstat命令還是直接cat /proc/net/tcp執(zhí)行速度都會(huì)很慢眉枕,相比之下ss可以節(jié)省很多時(shí)間恶复。ss快的秘訣在于怜森,它利用了TCP協(xié)議棧中tcp_diag,這是一個(gè)用于分析統(tǒng)計(jì)的模塊谤牡,可以獲得Linux內(nèi)核中的第一手信息副硅。如果系統(tǒng)中沒(méi)有tcp_diag,ss也可以正常運(yùn)行翅萤,只是效率會(huì)變得稍微慢但仍然比netstat要快恐疲。
根據(jù)博客http://www.cnblogs.com/wangkangluo1/archive/2012/05/15/2500844.html的測(cè)試
同樣的大量socket連接情況下,netstat和ss獲取同樣的統(tǒng)計(jì)數(shù)據(jù)時(shí)的耗時(shí)套么,ss明顯比netstat少很多流纹。我們也可以簡(jiǎn)單測(cè)試一下在少數(shù)socket情況下(基本無(wú)差別):

time netstat -atn以及time ss -atn對(duì)比
[root@king ~]# time ss -aut
Netid State      Recv-Q Send-Q                                              Local Address:Port                                                               Peer Address:Port                
udp   UNCONN     0      0                                                               *:sunrpc                                                                        *:*                    
udp   UNCONN     0      0                                                               *:entrust-ash                                                                   *:*                    
udp   UNCONN     0      0                                                       127.0.0.1:323                                                                           *:*                    
udp   UNCONN     0      0                                                              :::sunrpc                                                                       :::*                    
udp   UNCONN     0      0                                                              :::entrust-ash                                                                  :::*                    
udp   UNCONN     0      0                                                             ::1:323                                                                          :::*                    
tcp   LISTEN     0      128                                                             *:sunrpc                                                                        *:*                    
tcp   LISTEN     0      128                                                             *:ssh                                                                           *:*                    
tcp   LISTEN     0      100                                                     127.0.0.1:smtp                                                                          *:*                    
tcp   ESTAB      0      52                                                 192.168.159.11:ssh                                                               192.168.159.1:59869                
tcp   LISTEN     0      128                                                            :::sunrpc                                                                       :::*                    
tcp   LISTEN     0      128                                                            :::http                                                                         :::*                    
tcp   LISTEN     0      128                                                            :::ssh                                                                          :::*                    
tcp   LISTEN     0      100                                                           ::1:smtp                                                                         :::*                    

real    0m0.007s
user    0m0.003s
sys 0m0.003s
[root@king ~]# time netstat -aut
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:sunrpc          0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN     
tcp        0      0 localhost:smtp          0.0.0.0:*               LISTEN     

tcp        0     52 king:ssh                192.168.159.1:59869     ESTABLISHED
tcp6       0      0 [::]:sunrpc             [::]:*                  LISTEN     
tcp6       0      0 [::]:http               [::]:*                  LISTEN     
tcp6       0      0 [::]:ssh                [::]:*                  LISTEN     
tcp6       0      0 localhost:smtp          [::]:*                  LISTEN     
udp        0      0 0.0.0.0:sunrpc          0.0.0.0:*                          
udp        0      0 0.0.0.0:entrust-ash     0.0.0.0:*                          
udp        0      0 localhost:323           0.0.0.0:*                          
udp6       0      0 [::]:sunrpc             [::]:*                             
udp6       0      0 [::]:entrust-ash        [::]:*                             
udp6       0      0 localhost:323           [::]:*                             

real    0m5.242s
user    0m0.015s
sys 0m0.012s

netstat屬于net-tools工具集,ss屬于ipoute工具集违诗。替換方案如下:

————————————————
版權(quán)聲明:本文為CSDN博主「坑人螺絲釘」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議疮蹦,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明诸迟。
原文鏈接:https://blog.csdn.net/weixin_42816196/article/details/86580834

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市愕乎,隨后出現(xiàn)的幾起案子阵苇,更是在濱河造成了極大的恐慌,老刑警劉巖感论,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绅项,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡比肄,警方通過(guò)查閱死者的電腦和手機(jī)快耿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)芳绩,“玉大人掀亥,你說(shuō)我怎么就攤上這事⊥咨” “怎么了搪花?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)嘹害。 經(jīng)常有香客問(wèn)我撮竿,道長(zhǎng),這世上最難降的妖魔是什么笔呀? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任幢踏,我火速辦了婚禮,結(jié)果婚禮上许师,老公的妹妹穿的比我還像新娘惑折。我一直安慰自己授账,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布惨驶。 她就那樣靜靜地躺著白热,像睡著了一般。 火紅的嫁衣襯著肌膚如雪粗卜。 梳的紋絲不亂的頭發(fā)上屋确,一...
    開(kāi)封第一講書(shū)人閱讀 52,441評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音续扔,去河邊找鬼攻臀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛纱昧,可吹牛的內(nèi)容都是我干的刨啸。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼识脆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼设联!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起灼捂,我...
    開(kāi)封第一講書(shū)人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤离例,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后悉稠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體宫蛆,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年的猛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耀盗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡卦尊,死狀恐怖袍冷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情猫牡,我是刑警寧澤胡诗,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站淌友,受9級(jí)特大地震影響煌恢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜震庭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一瑰抵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧器联,春花似錦二汛、人聲如沸婿崭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)氓栈。三九已至,卻和暖如春婿着,著一層夾襖步出監(jiān)牢的瞬間授瘦,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工竟宋, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留提完,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓丘侠,卻偏偏與公主長(zhǎng)得像徒欣,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蜗字,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359