您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了Linux系統如何查看socket狀態,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學習一下“Linux系統如何查看socket狀態”這篇文章吧。
socket的API是在三次握手和四次揮手的基礎上設置的接口,那么在Linux系統中如何查看socket的狀態呢?下面為大家分享一下Linux系統查看socket的具體方法。
套接字是通信端點的抽象,其英文socket,即為插座,孔的意思。
如果兩個機子要通信,中間要通過一條線,這條線的兩端要連接通信的雙方,這條線在每一臺機子上的接入點則為socket,即為插孔,所以在通信前,我們在通信的兩端必須要建立好這個插孔,同時為了保證通信的正確,端和端之間的插孔必須要一一對應,這樣兩端便可以正確的進行通信了,而這個插孔對應到我們實際的操作系統中,就是socket文件,我們再創建它之后,就會得到一個操作系統返回的對于該文件的描述符,然后應用程序可以通過使用套接字描述符訪問套接字,向其寫入輸入,讀出數據。
站在更貼近系統的層級去看,兩個機器間的通信方式,無非是要通過運輸層的TCP/UDP,網絡層IP,因此socket本質是編程接口(API),對TCP/UDP/IP的封裝,TCP/UDP/IP也要提供可供程序員做網絡開發所用的接口,這就是Socket編程接口。
cat /proc/net/sockstat #(這個是ipv4的)
sockets: used 137 TCP: inuse 49 orphan 0 tw 3272 alloc 52 mem 46UDP: inuse 1 mem 0RAW: inuse 0 FRAG: inuse 0 memory 0
說明:sockets: used:已使用的所有協議套接字總量TCP: inuse:正在使用(正在偵聽)的TCP套接字數量。其值≤ netstat –lnt | grep ^tcp | wc –lTCP: orphan:無主(不屬于任何進程)的TCP連接數(無用、待銷毀的TCP socket數)TCP: tw:等待關閉的TCP連接數。其值等于netstat –ant | grep TIME_WAIT | wc –lTCP:alloc(allocated):已分配(已建立、已申請到sk_buff)的TCP套接字數量。其值等于netstat –ant | grep ^tcp | wc –lTCP:mem:套接字緩沖區使用量(單位不詳。用scp實測,速度在4803.9kB/s時:其值=11,netstat –ant 中相應的22端口的Recv-Q=0,Send-Q≈400)UDP:inuse:正在使用的UDP套接字數量RAW:FRAG:使用的IP段數量
IPv6請看:cat /proc/net/sockstat6
TCP6: inuse 3UDP6: inuse 0RAW6: inuse 0 FRAG6: inuse 0 memory 0
通過這些值,可以很容易計算出當前的tcp請求數,然后做相關的監控。
Linux是一種免費使用和自由傳播的類UNIX操作系統,是一個基于POSIX的多用戶、多任務、支持多線程和多CPU的操作系統,使用Linux能運行主要的Unix工具軟件、應用程序和網絡協議。
以上就是關于“Linux系統如何查看socket狀態”的內容,如果該文章對您有所幫助并覺得寫得不錯,勞請分享給您的好友一起學習新知識,若想了解更多相關知識內容,請多多關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。