48

Linuxでは、netstatコマンドはシステム内のアクティブなソケットの情報を教えてくれます。

システムネットワーク情報を取得するためにnetstat使用することを理解しています。/proc/net/tcp

netstatマニュアルページにはnetstatは廃止されたと記載されているため、「ss」を使用する必要があります。

NOTE
   This program is obsolete.  Replacement for netstat is ss.   Replacement
   for  netstat -r is ip route.  Replacement for netstat -i is ip -s link.
   Replacement for netstat -g is ip maddr.

私はそれが同様の機能を実行することを発見しましたが、それはシステムネットワーク情報を取得するためにss使用しません 。/proc/net/tcp

今、私はssシステムネットワークソケット情報をどのように取得するのか興味がありますか?

4

5 に答える 5

30

従来のソケットAPIを使用するNetlinkを使用して、カーネルスペースから直接それらを取得します。

于 2012-08-02T13:22:37.140 に答える
21

ssiproute2パッケージに含まれており、の代わりになりnetstatます。ssソケット統計をダンプするために使用されます。に似た情報が表示されnetstatます。他のツールよりも多くのTCPおよび状態情報を表示できます。これは、TCP接続とソケットを追跡するための新しい非常に便利で高速な(netstatと比較して)ツールです。

于 2012-08-02T11:07:00.360 に答える
15

と引数の間で変換するための比較表(Googleドキュメント内)軽いHTMLリンク)を作成しました。ここに含めて更新するには大きすぎます。netstatss

グーグルドキュメントのスクリーンショット

短い引数の違いの短いバージョンは次のとおりです。

注意が必要な引数: r N i g M W T v C F c A U 2 f

そのままにしておくのが安全な引数: h V l a n Z s p e o 4 6 x t u S w

于 2020-05-19T03:57:11.303 に答える
10

ssのソースを確認してください。

https://github.com/shemminger/iproute2/blob/master/misc/ss.c

基本的に、カーネルに直接クエリを実行し、よりもはるかに高速に応答できますnetstat

于 2014-03-19T19:46:02.973 に答える
4

ssLinuxおよびUnixシステムのソケットを調査するために使用されるユーティリティです。ソケット統計に類似しnetstat、ダンプできる情報が表示されます。

ただし、netstat完全にで置き換えることはできませんss。一部のnetstatコマンドは、コマンドによりよく対応しますip

    $ netstat -r   replaced by  $ ip route
    $ netstat -i   replaced by  $ ip -s lin
    $ netstat -g   replaced by  $ ip maddr

「古い」コマンドは、 andコマンドnetstatの両方に置き換えることができます。ssip

于 2018-09-21T13:31:53.617 に答える