常用ネットワークコマンド(二)
11706 ワード
一、pingコマンド
pingコマンドは、ターゲットホストとの接続性をテストするために一般的に使用されるネットワークコマンドです.
例:
二、tracerouteコマンド
tracerouteでは、あなたのコンピュータからインターネットの反対側のホストまで、どのような経路を歩いているかを知ることができます.もちろん、パケットが同じ出発点(source)から同じ目的地(destination)に到達するたびに経路が異なる場合がありますが、基本的にはほとんどの場合、経路は同じです.linuxシステムではtracerouteと呼ばれ、MS Windowsではtracertと呼ばれています.tracerouteは、目的のデバイスが戻るまで小さなパケットを送信することによって、どのくらいの時間がかかるかを測定する.1つのパス上の各デバイスtracerouteは3回測定します.出力結果には、各テストの時間(ms)とデバイスの名前(あれば)とそのIPアドレスが含まれます.
説明:tracepathコマンドはtracerouteコマンドと似ていますが、root権限は必要ありません.
一般的なオプション:
例:
三、mtrコマンド
MtrはLinuxにping,traceroute,nslookupの相関特性を組み合わせたネットワーク接続性判断ツールである.
共通パラメータ:
例:
次のレポートの例を示します.第1列:IPアドレスとローカルドメイン名が表示されます.これはtracerouteと に似ています.第2列:snt:10毎秒送信パケットの数を設定し、デフォルト値は10でパラメータ-cで指定できます. 第3列:対応するIPのパケット損失率 が表示される.第4列:表示される最近の戻り遅延 第5列:平均値これはpingパケットを送信する平均遅延 であるべきである.第6列:最良または遅延が最も短い 第7列:最悪または遅延が最も一般的な 第8列:標準偏差 四、netstatコマンド
Netstatコマンドは、IP、TCP、UDP、ICMPプロトコルに関する統計データを表示するために使用されます.一般的に、自機の各ポートのネットワーク接続状況を確認するために使用されます.Netstatは、カーネル内でネットワークおよび関連情報にアクセスするプログラムで、TCP接続、TCPおよびUDPリスニング、プロセスメモリ管理に関するレポートを提供します.
一般的なオプション:
例:
1)リスニングおよび非リスニングを含むすべてのポートが表示されます.
説明:
全体的にnetstatの出力結果は2つの部分に分けることができます.
1つはActive Internet connectionsであり、アクティブTCP接続と呼ばれ、「Recv-Q」および「Send-Q」は%0 Aの受信キューおよび送信キューを指す.これらの数字は一般的に0であるべきだ.そうでない場合は、パッケージがキューに蓄積されていることを示します.このような状況は非常に少ない状況でしか見られない.
もう1つはActive UNIX domain socketsで、アクティブUnixドメインソケットインタフェースと呼ばれています(ネットワークソケットと同じですが、ネイティブ通信にのみ使用でき、パフォーマンスが2倍に向上します).Protoは接続に使用されるプロトコルを表示し、RefCntは本ソケットに接続されているプロセス番号を表し、Typesはソケットのタイプを表示し、Stateはソケットの現在の状態を表示し、Pathはソケットに接続されている他のプロセスが使用するパス名を表す.
2)すべてのtcpポートnetstat-atをリストする
3)すべてのudpポートnetstat-auをリストする
4)リスニングポートnetstat-lのみ表示
5)すべてのリスニングudpポートnetstat-luのみをリストする
説明:リスニングのみを表示するtcpポートは
7)TCPまたはUDPポートの統計を表示するnetstat-stまたは-su
8)netstat出力にPIDとプロセス名netstat-pを表示する
9)netstat出力にホスト、ポート、ユーザー名を表示しない(host,port or user)
10)netstat情報の継続出力
五、ssコマンド
ssはSocket Statisticsの略です.名前の通り、ssコマンドは、netstatと同様のコンテンツを表示できるsocket統計を取得するために使用できます.しかし、ssの利点は、TCPおよび接続状態に関するより詳細な情報をより多く表示でき、netstatよりも迅速かつ効率的であることである.
小贴士:どうしてssはnetstatより速いの?
Netstatは、/procの下にある各PIDディレクトリを巡り、ssは/proc/netの下にある統計を直接読みます.だからss実行時にリソースを消費したり、netstatより時間を消費したりするのは少ないです.
一般的なオプション:
小贴士:ss基本用法とnetstatが一致する以下の例は異なる用法のみをリストする
例:
1)ssはすべてのhttp接続の接続をリストする
説明:上記には、外部に提供される80と、外部にアクセスする80が含まれています.
2)ローカルでxサーバに接続されているプロセスのリスト
3)列出典FIN-WAIT-1状態のhttp、https接続
ssでよく使用されるstate状態:
4)ss IPアドレスでフィルタリング
説明:
5)ssポートフィルタの使用
OPインスタンス:
pingコマンドは、ターゲットホストとの接続性をテストするために一般的に使用されるネットワークコマンドです.
ping :
-c #: ping
-s #: ping
-w #:
-W #: ping
-f: 。 ,
-i : ,
-t : TTL
例:
[root@young ~]# ping -f -c 65535 -s 20000 192.168.1.6 # ***
PING 192.168.1.6 (192.168.1.6) 20000(20028) bytes of data.
[root@young ~]# ping -w 5 192.168.1.1 # 5s
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.10 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=1.19 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.30 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=1.23 ms
64 bytes from 192.168.1.1: icmp_seq=5 ttl=64 time=0.944 ms
--- 192.168.1.1 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 5000ms
rtt min/avg/max/mdev = 0.944/1.156/1.307/0.124 ms
[root@young ~]# ping -c 3 192.168.1.1 # 3
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=1.14 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.858 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=1.12 ms
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2006ms
rtt min/avg/max/mdev = 0.858/1.041/1.146/0.135 ms
二、tracerouteコマンド
tracerouteでは、あなたのコンピュータからインターネットの反対側のホストまで、どのような経路を歩いているかを知ることができます.もちろん、パケットが同じ出発点(source)から同じ目的地(destination)に到達するたびに経路が異なる場合がありますが、基本的にはほとんどの場合、経路は同じです.linuxシステムではtracerouteと呼ばれ、MS Windowsではtracertと呼ばれています.tracerouteは、目的のデバイスが戻るまで小さなパケットを送信することによって、どのくらいの時間がかかるかを測定する.1つのパス上の各デバイスtracerouteは3回測定します.出力結果には、各テストの時間(ms)とデバイスの名前(あれば)とそのIPアドレスが含まれます.
説明:tracepathコマンドはtracerouteコマンドと似ていますが、root権限は必要ありません.
一般的なオプション:
-m#: TTL 。
-n: IP 。
-p#: UDP
-q#: ,
-r Routing Table,
例:
[root@bash young]# traceroute -m 5 -q 4 -n www.baidu.com
traceroute to www.baidu.com (115.239.211.112), 5 hops max, 60 byte packets
1 192.168.1.1 6.188 ms 5.990 ms 5.868 ms 5.753 ms
2 100.65.0.1 5.638 ms 5.522 ms 6.447 ms 9.321 ms
3 60.235.65.145 9.133 ms 9.311 ms 9.179 ms 11.035 ms
4 60.235.64.81 20.402 ms 20.297 ms 20.226 ms 20.573 ms
5 202.97.40.101 27.015 ms 26.890 ms 202.97.40.149 29.884 ms 202.97.40.141 26.662 ms
三、mtrコマンド
MtrはLinuxにping,traceroute,nslookupの相関特性を組み合わせたネットワーク接続性判断ツールである.
共通パラメータ:
-s: ping
--no-dns: IP
-a: IP IP
-i: ICMP 1
-4:IPv4
-6:IPv6
例:
[root@bash young]# mtr --no-dns 8.8.8.8
My traceroute [v0.85]
bash (0.0.0.0) Mon Feb 13 22:35:30 2017
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.1.1 0.0% 18 3.3 1.6 0.9 3.3 0.5
2. 100.65.0.1 0.0% 18 5.1 7.0 3.6 19.5 4.5
3. 60.235.65.141 0.0% 18 6.1 6.4 5.7 8.8 0.8
4. 60.235.64.109 0.0% 18 28.1 22.1 12.5 58.5 13.4
...
次のレポートの例を示します.
Netstatコマンドは、IP、TCP、UDP、ICMPプロトコルに関する統計データを表示するために使用されます.一般的に、自機の各ポートのネットワーク接続状況を確認するために使用されます.Netstatは、カーネル内でネットワークおよび関連情報にアクセスするプログラムで、TCP接続、TCPおよびUDPリスニング、プロセスメモリ管理に関するレポートを提供します.
一般的なオプション:
-r:
-n: numeric,
-t: tcp
-u: udp
-l: ; : ;
-p: ;
-a:
-ta: tcp
-s:
-e: , uid
-c: , netstat
例:
1)リスニングおよび非リスニングを含むすべてのポートが表示されます.
[root@bash young]# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:discp-client 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:x11 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp 0 96 192.168.1.6:ssh 192.168.1.105:27443 ESTABLISHED
tcp 0 0 192.168.1.6:59947 116.211.167.193:http TIME_WAIT
...
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 20526 private/local
unix 2 [ ACC ] STREAM LISTENING 20529 private/virtual
...
説明:
全体的にnetstatの出力結果は2つの部分に分けることができます.
1つはActive Internet connectionsであり、アクティブTCP接続と呼ばれ、「Recv-Q」および「Send-Q」は%0 Aの受信キューおよび送信キューを指す.これらの数字は一般的に0であるべきだ.そうでない場合は、パッケージがキューに蓄積されていることを示します.このような状況は非常に少ない状況でしか見られない.
もう1つはActive UNIX domain socketsで、アクティブUnixドメインソケットインタフェースと呼ばれています(ネットワークソケットと同じですが、ネイティブ通信にのみ使用でき、パフォーマンスが2倍に向上します).Protoは接続に使用されるプロトコルを表示し、RefCntは本ソケットに接続されているプロセス番号を表し、Typesはソケットのタイプを表示し、Stateはソケットの現在の状態を表示し、Pathはソケットに接続されている他のプロセスが使用するパス名を表す.
2)すべてのtcpポートnetstat-atをリストする
[root@bash young]# netstat -at
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:discp-client 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:x11 0.0.0.0:* LISTEN
...
3)すべてのudpポートnetstat-auをリストする
[root@bash young]# netstat -au
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
4)リスニングポートnetstat-lのみ表示
[root@bash young]# netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:discp-client 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:x11 0.0.0.0:* LISTEN
5)すべてのリスニングudpポートnetstat-luのみをリストする
[root@bash young]# netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 localhost:323 0.0.0.0:*
udp6 0 0 localhost:323 [::]:*
説明:リスニングのみを表示するtcpポートは
netstat -tl
、リスニングのみを表示するunixポートはnetstat -lx
6)すべてのポートの統計を表示するnetstat-s[root@bash young]# netstat -s
Ip:
1409453 total packets received
0 forwarded
0 incoming packets discarded
1262997 incoming packets delivered
1279112 requests sent out
...
7)TCPまたはUDPポートの統計を表示するnetstat-stまたは-su
# netstat -st
# netstat -su
8)netstat出力にPIDとプロセス名netstat-pを表示する
[root@bash young]# netstat -tp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 96 192.168.1.6:ssh 192.168.1.105:27443 ESTABLISHED 45793/sshd: root@pt
tcp 0 0 192.168.1.6:60000 116.211.167.193:http TIME_WAIT -
...
9)netstat出力にホスト、ポート、ユーザー名を表示しない(host,port or user)
#netstat -an
10)netstat情報の継続出力
#netstat -c
五、ssコマンド
ssはSocket Statisticsの略です.名前の通り、ssコマンドは、netstatと同様のコンテンツを表示できるsocket統計を取得するために使用できます.しかし、ssの利点は、TCPおよび接続状態に関するより詳細な情報をより多く表示でき、netstatよりも迅速かつ効率的であることである.
小贴士:どうしてssはnetstatより速いの?
Netstatは、/procの下にある各PIDディレクトリを巡り、ssは/proc/netの下にある統計を直接読みます.だからss実行時にリソースを消費したり、netstatより時間を消費したりするのは少ないです.
一般的なオプション:
-t: tcp
-u: udp
-p: process
-l: listening
-n: numeric
-a: all
-e:
-m:
-o state {established|fin_wait_1|listening|...}
小贴士:ss基本用法とnetstatが一致する以下の例は異なる用法のみをリストする
例:
1)ssはすべてのhttp接続の接続をリストする
[root@bash young]# ss -o state established '( dport = :http or sport = :http )'
Netid Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp 0 0 192.168.1.6:50036 118.144.78.39:http
tcp 0 0 192.168.1.6:60218 116.211.167.193:http timer:(keepalive,9.506ms,0)
tcp 0 0 192.168.1.6:60214 116.211.167.193:http
説明:上記には、外部に提供される80と、外部にアクセスする80が含まれています.
2)ローカルでxサーバに接続されているプロセスのリスト
# ss -x src /tmp/.X11-unix/*
3)列出典FIN-WAIT-1状態のhttp、https接続
[root@bash young]# ss -o state fin-wait-1 '( sport = :http or sport = :https )'
#
Netid Recv-Q Send-Q Local Address:Port Peer Address:Port
ssでよく使用されるstate状態:
established
syn-sent
syn-recv
fin-wait-1
fin-wait-2
time-wait
closed
close-wait
last-ack
listen
closing
all : All of the above states
connected : All the states except for listen and closed
synchronized : All the connected states except for syn-sent
bucket : Show states, which are maintained as minisockets, i.e. time-wait and syn-recv.
big : Opposite to bucket state.
4)ss IPアドレスでフィルタリング
[root@bash young]# ss src 192.168.1.6
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp ESTAB 0 0 192.168.1.6:57449 83.168.200.199:ntp
udp ESTAB 0 0 192.168.1.6:36484 173.255.215.209:ntp
tcp ESTAB 0 96 192.168.1.6:ssh 192.168.1.105:27443
説明:
ss src ADDRESS_PATTERN[:PORT]
src:
ADDRESS_PATTERN:
5)ssポートフィルタの使用
ss dport OP PORT
OP:
PORT:
dport: 、 sport
OP :
<= or le : >= or ge :
== or eq :
!= or ne :
or gt :
OPインスタンス:
ss sport = :http ss sport = :80
ss dport = :http
ss dport \> :1024 #
ss sport \> :1024
ss sport \