2017年1月16日月曜日

tcpdump: WARNING: SIOCGIFADDR: nflog: No such device

CentOS7でhttpのリクエストを見ようとtcpdumpを実行したら以下のエラーになった。

# tcpdump
tcpdump: WARNING: SIOCGIFADDR: nflog: No such device
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on nflog, link-type NFLOG (Linux netfilter log messages), capture size 65535 bytes

CentOS7ではtcpdumpの-iでinterfaceを指定する必要があるようだ。interfaceを指定しないとtcpdump -Dで表示される先頭のデバイスが選択される。

CentOS7でのtcpdump -Dの実行結果は以下の通り。

# tcpdump -D
1.nflog (Linux netfilter log (NFLOG) interface)
2.nfqueue (Linux netfilter queue (NFQUEUE) interface)
3.usbmon1 (USB bus number 1)
4.usbmon2 (USB bus number 2)
5.usbmon3 (USB bus number 3)
6.usbmon4 (USB bus number 4)
7.enp5s0
8.usbmon5 (USB bus number 5)
9.any (Pseudo-device that captures on all interfaces)
10.lo

先頭が「nflog (Linux netfilter log (NFLOG) interface)」なのでtcpdumpの-iでのinterfaceを指定を省略した場合には、この「nflog (Linux netfilter log (NFLOG) interface)」が選択される。

以下のようにtcpdumpの-iでEthernetのinterfaceを指定すればEthernetのパケットの内容が見れる。

# tcpdump -i enp5s0
# tcpdump -i 7

CentOS6.7で確認してみた。CentOS6.7でのtcpdump -Dの実行結果は以下の通り。

/tcpdump -D
1.eth0
2.nflog (Linux netfilter log (NFLOG) interface)
3.nfqueue (Linux netfilter queue (NFQUEUE) interface)
4.eth1
5.any (Pseudo-device that captures on all interfaces)
6.lo

CentOS6.7では先頭がEthernetのinterfaceなので、tcpdumpの-iでのinterfaceを指定を省略してもEthernetが選択されてEthernetのパケットの内容が見れたようだ。

CentOS7になってネットワーク関係は微妙に変わっているようだ。

0 件のコメント:

コメントを投稿