QEMU の tap でパケットを見たい
うまくいく例
% cat /etc/qemu-ifup #!/bin/sh sudo /sbin/ifconfig $1 192.168.50.2 up
のように QEMU に interface を up させた後、tcpdump -i tap0 とする。
tap0 は tunctl -t tap0 で persistent にしておいても良い。
うまくいかない例
事前に tunctl で tap0 を persistent、にしておき更に up しておく。
原因は分からないが、これをすると
という状況になる。
bridge を作っておく方法はどうか?
sudo brctl addbr br sudo /sbin/ifconfig br 192.168.50.2 up
としておき。
#!/bin/sh sudo /sbin/ifconfig $1 up sudo brctl addif br $1
これで事前に br を tcpdump しておく。
やはりこれも
となる。
追記
結局以下のような苦肉の策で乗り切ることに。tap0 は persistent にしていない。
% cat /etc/qemu-ifup #!/bin/sh sudo ifconfig $1 192.168.50.2 up sudo rm -f /tmp/tcpdump.log sudo tcpdump -i $1 -s 1500 -w /tmp/tcpdump.log &
% cat /etc/qemu-ifdown #!/bin/sh sudo ifconfig $1 down sudo pkill tcpdump wireshark /tmp/tcpdump.log