ネットワークデバッグ

提供: ArchWiki
2023年4月5日 (水) 18:06時点におけるKusanaginoturugi (トーク | 投稿記録)による版 (→‎Tcpdump: 飜訳)
ナビゲーションに移動 検索に移動

関連記事

リンク状態

ip a の概要には、リンク状態がすでに表示されています。ただし、以下のコマンドを実行することでも表示することができます。

$ ip link show dev eth0

これにより、次のような出力が得られます。

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
   link/ether 70:5a:b6:8a:a0:87 brd ff:ff:ff:ff:ff:ff

インターフェースを起動するには、次のコマンドを入力します。

# ip link set dev eth0 up

RTNETLINK answers: Cannot assign requested address

インターフェースを起動しようとしたときにこのエラーが表示された場合、MAC アドレスが無効である可能性があります。有効な MAC アドレスを設定するには、MAC アドレス偽装を参照してください。

IP アドレス

ip a で提供される概要には、IP アドレスがすでに表示されています。ただし、以下のコマンドを実行することでも表示することができます。

$ ip addr show dev eth0

これにより、次のような出力が得られます。

 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
   link/ether 70:5a:b6:8a:a0:87 brd ff:ff:ff:ff:ff:ff
   inet 192.168.1.143/24 brd 192.168.1.255 scope global eth0
   inet6 fe80::725a:b6ff:fe8a:a087/64 scope link 
      valid_lft forever preferred_lft forever

一時的な IP アドレスを追加するには:

# ip addr add 192.168.1.143/24 dev eth0

IP アドレスを削除するには:

# ip addr del 192.168.1.143/24 dev eth0

Ping & Tracepath/Traceroute

ping コマンドは、特定のホストへの接続性をテストするのに役立ちます。

最初のステップは、デフォルトゲートウェイへの接続性を確認することです(IP アドレスを自分のデフォルトゲートウェイに置き換えてください):

$ ping -c4 192.168.1.1

"-c4" パラメータを削除すると、ping は終了しなくなります。"Control-C" を押して中止することができます。

PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=0.193 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=0.190 ms
64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=0.192 ms
64 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=0.189 ms

--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.165/0.184/0.193/0.014 ms

上記の出力は、デフォルトゲートウェイに到達できることを示しています。代わりに "Destination Host Unreachable" メッセージが表示された場合は、IP アドレス、ネットマスク、デフォルトゲートウェイの設定を再確認してください。このメッセージは、ICMP トラフィックがデフォルトゲートウェイに対して許可されていない場合(ファイアウォール、ルーターなどによってブロックされている場合)にも表示される場合があります。

次のステップは、設定された DNS サーバーへの接続性を確認することです。応答がない場合は、tracepath または traceroute を使用して、サーバーへのルーティングを確認し、問題の原因を特定できます。

$ traceroute 8.8.4.4

Traceroute は ICMP を使用してパスを決定するため、ICMP トラフィックがブロックされている場合、応答が "no reply" になる場合があります。

Tcpdump

tcpdump とその基盤となるライブラリ libpcap は、ネットワーク上のパケットに対するマルチプラットフォームのユーザースペースインタフェースです。重要な点として、彼らは到達する入力パケットを見ることができます。これは、ローカルソフトウェアのファイアウォールがパケットをブロックしている場合でも同様です。一方、彼らはファイアウォールが通過させた出力パケットしか見ることができません:[1]

例を交えた、簡潔な tcpdump の紹介は、こちらのウェブページにあります:[2]