
インターフェースを設定するときのコマンドは次のとおりです。
sudo ip tuntap add dev router0 mod tun
sudo ip addr add 10.0.0.138/24 dev router0
sudo ip link set dev router0 up
出力は次のようになりますip addr show dev router0
8: router0: <NO-CARRIER,POINTOPOINT,MULTICAST,NOARP,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 500
link/none
inet 10.0.0.138/24 scope global router0
valid_lft forever preferred_lft forever
10.0.0.138
tshark を使用してインターフェース上でping listen を試みてもsudo tshark -i router0
、何も起こりません。
私の ping10.0.0.138
出力は次のとおりです:
PING 10.0.0.138 (10.0.0.138) 56(84) bytes of data.
64 bytes from 10.0.0.138: icmp_seq=1 ttl=64 time=0.063 ms
64 bytes from 10.0.0.138: icmp_seq=2 ttl=64 time=0.058 ms
これが私のsudo tshark -i router0
出力です:
Capturing on 'router0'
何も伝わってこない
答え1
ping は実際には物理デバイスに到達しないため、tshark
パケットをリッスンするために物理デバイスにアクセスします。
コンピュータの任意のインターフェースにアドレスを追加すると、テーブルに特別なルートが作成されますlocal
( を確認してくださいsudo ip route show table local
)。いくつかのルートがありますlocal
。ローカル ルートとの通信は、効率を高めるためにネットワーク スタックの複数のレイヤーをスキップするように設計されています。パケットはインターフェースに表示されるはずなlo
ので、それを確認するには を実行する必要がありますsudo tshark -i lo
。