「便利なコマンドライン」の質問と同じように( Windows 、 Linux 、および Mac の場合)、便利だと思います「ユーティリティXを使用するための便利な方法」の質問がある。マニュアルページには、パラメーターの機能が示されていますが、必ずしもそれらを使用する理由、結果の意味、大規模な実験を行わないとわからないコマンドの有用な機能、または本当に必要な答えを得る方法が示されています。
netstat について知りたい。どのプロセスが帯域幅を使用しているか、そして実際にシステムが帯域幅をどれだけ速く使用しているかを理解できるように見えるでしょう。また、不要な接続(viriiなど)を検出するのにも役立ち、あらゆる種類のルーティング情報(Sharp Zaurus PDA use TCP/IP言い換えれば、それは金鉱山のように聞こえます。あなたが見つけた情報のナゲットを共有してくれることを期待しています。
返信にはnetstatのバージョンとOSを含めてください。いくつかのサンプル出力を見て、それが何を意味するのかを知っておくといいでしょう。私はこの質問をコミュニティウィキとしてマークしました。異なるOSを知っている他の人が知っている場合は、ほぼ同じコマンドを同じ回答で発行できるように、回答でも同じようにしてください。次に、どの回答が最も役立つかについて投票できます。
ローカルのリスニングTCP/UDPポートと、それらが属するプロセスを表示します。
Sudo netstat -tulpn
Netstatルーティングテーブル
[これはMac OS X 10.5.7でテストされています。 Solaris上で動作することが示されているため、結果はすべてのプラットフォームでほぼ同じだと思います。]
netstat -r
ルーティングテーブルを提供します。
netstat -nr
は同じですが、マシン名を検索する代わりに未加工のIPを提供します。その出力は次のようになります(長くなります):
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.40.250 UGSc 19 1 en1
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 1 3140 lo0
169.254 link#5 UCS 0 0 en1
169.254.33.92 127.0.0.1 UHS 0 0 lo0
192.168.40 link#5 UCS 11 0 en1
192.168.40.1 0:17:f2:ca:a0:94 UHLW 0 0 en1 1150
...
Internet6:
Destination Gateway Flags Netif Expire
::1 link#1 UHL lo0
fe80::%lo0/64 fe80::1%lo0 Uc lo0
fe80::1%lo0 link#1 UHL lo0
fe80::%en0/64 link#4 UC en0
...
ff02::/32 link#7 UC en2
ff02::/32 link#8 UC en3
列:
宛先とゲートウェイ:宛先は、情報の送信先となる可能性があるアドレス(またはアドレス範囲)です。その宛先に送信されるすべてのデータは、関連付けられたゲートウェイに送られます。ゲートウェイは、旅の次の「ホップ」のためにデータを送信する場所を知っています。ルーティングテーブルにエントリがない宛先にデータを送信する場合は、デフォルトゲートウェイを経由します。
フラグ:man/infoページにすべてのフラグがリストされます。デフォルトゲートウェイの設定の意味は次のとおりです。
UGSc
U - RTF_UP Route usable
G - RTF_GATEWAY Destination requires forwarding by intermediary
S - RTF_STATIC Manually added
c - RTF_PRCLONING Protocol-specified generate new routes on use
DHCP経由で追加されたため、手動で追加すると主張しているのは奇妙です。
Refs: "refcntフィールドは、ルートの現在のアクティブな使用数を示します。接続指向プロトコルは、通常、コネクションレス型プロトコルが同じ宛先に送信している間にルートを取得している間の接続。」 (マニュアルページ)
Use:「useフィールドは、そのルートを使用して送信されたパケット数のカウントを提供します。」
Netif:「インターフェイスエントリは、ルートに使用されているネットワークインターフェイスを示します。」
私のMacでは
Expire:異なるバージョンのnetstatのマンページから:「ルートの有効期限が切れるまでの残り時間(分単位)を表示します。」
Windowsの場合:
c:>netstat -a | find /c "TCP"
68
TCP/IP接続の数を示します。 TCPポートが不足していて MaxUserPorts を増やす必要がある)高度なネットワークシステムのトラブルシューティングを行う場合に役立ちます。
Bashでnetstatを使用するための便利な方法については、 CommandLineFu Netstatページ を確認してください。
送信/受信のレート
Macの場合[OS X 10.5.7]:
netstat -i -w 10
[SolarisおよびLinuxでの使用に関する注意については、 チャックの答え を参照してください。]
出力は次のようになります。
input (Total) output
packets errs bytes packets errs bytes colls
794 0 1166796 763 0 50358 0
789 0 1167773 765 0 52542 0
792 0 1166548 765 0 51174 0
796 0 1167262 598 0 40152 0
929 0 1278561 846 0 65625 0
563 0 815570 530 0 36828 0
32 0 4360 1 0 774 0
9 0 705 0 0 684 0
9 0 631 0 0 0 0
これは、一定の時間内に転送されたパケットとバイトの数を示します。 (この例では10秒)。私はYouTubeに接続していて、ブラウザーのタブを閉じて速度が底をつくまで、間隔ごとに1 MBを超えてダウンロードしていました。
これは、アップロードまたはダウンロードが完了するのを待っている場合に役立ちます。レートを監視し、劇的に低下したら、それが完了したことを知っています。
上記のコマンドは、すべてのインターフェイスのすべてのスループットを表示することに注意してください。特定のインターフェース(この例ではWiFi)にスコープを設定するには、-I
フラグ。
netstat -I en1 -w 10
ウィンドウズ:
Netstat -n
(Show active TCP connections, don't slow down trying to do name resolution)
Proto Local Address Foreign Address State
TCP 192.168.1.38:4853 69.59.196.212:80 ESTABLISHED
アクティブなTCP接続を表示しますが、UDPアクティビティは表示しません。
Netstat -an
(Show all connections, don't slow down trying to do name resolution)
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
TCP 192.168.1.38:4853 69.59.196.212:80 ESTABLISHED
すべてのアクティブなTCP=接続、およびリスニングTCPおよびUDP接続を表示します。ここには、アウトバウンドUDPアクティビティは表示されません。
Windows 7(おそらく以前から):
netstat -ano
関連するPIDを持つアクティブなセッションをリストします
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 776
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING 4
TCP 0.0.0.0:554 0.0.0.0:0 LISTENING 1724
またはステップを保存する
netstat -anb
(昇格されたCMDプロンプトから)プロセス名を指定します
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
RpcSs
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP 0.0.0.0:554 0.0.0.0:0 LISTENING
[wmpnetwk.exe]
TCP 0.0.0.0:2048 0.0.0.0:0 LISTENING
私はホイールを再発明していると確信していますが、- これは簡単なPerlスクリプトです でnetstatを実行し、現在接続されているIPが一番上になるように出力を並べ替えます。これは、2秒間隔で更新するための「watch」プログラムでの使用に最適です。
更新:多くの問題を取り除き、ホスト名を表示するために2013-02-11を大幅に書き換え
出力例:
Distant inbound connections: 2
85.93.216.17:772 <-- 78.141.139.10 : 1 ip-78-141-139-10.dyn.luxdsl.pt.lu 1 x ESTABLISHED
80.90.47.155:443 <-- 78.141.139.10 : 1 ip-78-141-139-10.dyn.luxdsl.pt.lu 1 x ESTABLISHED
Distant outbound connections: 3
80.90.63.61 --> 80.90.63.48:25 : 2 smtp.m-plify.net 2 x TIME_WAIT
85.93.216.17 --> 85.93.216.18:772 : 1 maya.m-plify.net 1 x ESTABLISHED
Looping connections: 57 (10 duplicates)
127.0.0.1 --> 127.0.0.1:9355 : 20 1 x ESTABLISHED, 8 x TIME_WAIT, 11 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:4713 : 10 10 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:9353 : 9 4 x TIME_WAIT, 5 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:3306 : 8 6 x ESTABLISHED, 1 x TIME_WAIT, 1 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:5445 : 5 1 x ESTABLISHED, 4 x TIME_WAIT
127.0.0.1 --> 127.0.0.1:9354 : 2 2 x CLOSE_WAIT
127.0.0.1 --> 127.0.0.1:7998 : 1 1 x TIME_WAIT
127.0.0.1 --> 127.0.0.1:3351 : 1 1 x ESTABLISHED
127.0.0.1 --> 127.0.0.1:32000 : 1 1 x ESTABLISHED
ウィンドウズ
netstat -b
接続を使用してプロセスを表示します
Solaris:
netstat -nr
(displays routing table)
Wicked Cool Shell Scriptsの本から:
Script#90.1 : 'n'分ごとにnetstats値を取得(crontabを使用)
Script#90.2 :netstat実行パフォーマンスログを分析し、重要な結果と傾向を特定します。
(この本が大好きです-購入する価値があります!)
まだ誰も言及していないので:
netstat -s
linuxでプロトコルごとに大量の有用な統計を提供します。
Solarisでは、多くの人が「netstat -i 1」を実行して実行中のパケット数を取得することに慣れています。 Linux netstatには、差分ではなくrawカウントが表示されるため、この機能の役に立たないバージョンがあります。同様の結果を得るには、「sar -n DEV 1 0」を実行します。実際に "LANG = C sar -n DEV 1 0 | grep interfacename"(sarはAMとPMで時間を特定のロケールで行頭に置くので、解析する場合に備えて、常に「LANG = C sar」を実行するという習慣があります。
Solarisでは、
netstat -k
さまざまな統計の概要を表示します。エラーのチェックなどに役立ちます。