ss
コマンドはnetstat
と非常によく似ています コマンドですが、netstat
よりも高速で正確です。 。
[email protected]:~$ ss
Netid State Recv-Q Send- Local Address:Port Peer Address:Port
u_str ESTAB 0 0 * 34006 * 34007
これは、出力の最初の行です。このコマンドは、システムで開いているすべてのソケットを通知します。
私のシステムの合計は96で、そのうち56はu_str
を持っています Netid
として 残りはtcp
です 。
このu_str
とは ここで、Recv-Q
についても詳しく説明してください およびSend-Q
?
承認された回答:
u_str
はストリームソケットであり、netstat
と同等です。 のSOCK_STREAM。
SOCK_STREAM:これはストリーム(接続)ソケットです。
ウィキペディアから:
コンピュータオペレーティングシステムでは、ストリームソケットはプロセス間通信ソケットまたはネットワークソケットの一種であり、レコード境界のないコネクション型のシーケンスされた一意のデータフローを提供し、接続を作成および破棄し、エラーを検出するための明確なメカニズムを備えています。 。
ストリームソケットを作成しましょう:
netcat -lU /tmp/streamsocket
今すぐ実行:
ss -an | grep streamsocket
次のように出力されます:
u_str LISTEN 0 5 /tmp/streamsocket 123360 * 0
簡単に言えば、これは「UDP」または「TCP」のタイプのソケットでもあります。 UDPソケットを作成しましょう:
netcat -lu 127.0.0.1 8060
さて、ss -l sport = 8060
これは「u_str」ではなく「UDP」であることがわかります。
「Recv-Q」列と「Send-Q」列については、man 8 netstat
を参照してください。 :
Recv-Q
このソケットに接続されているユーザープログラムによってコピーされなかったバイト数。Send-Q
リモートホストによって確認応答されなかったバイト数。