USBモデムのNICモードでtcpdumpを実行しています。
[ 18.260000] cdc_ncm 1-1.1:1.1 wwan0: register 'cdc_ncm' at usb-ehci-platform-1.1, Mobile Broadband Network Device, 0c:5b:8f:27:9a:64
数分間実行し、カウンタの違いを確認するために、前後にifconfigを実行しました。
{
sh -c '
fn1() {
date
echo $1
ifconfig wwan0
echo
} >&2
fn1 before
tcpdump -i wwan0 -w - &
sleep 600
kill $!
wait
fn1 after
' >day3.pcap
} 2>&1 | tee day3.txt
結果:
Sun Jul 26 13:37:32 AST 2015
before
...
RX packets:45568603 errors:0 dropped:0 overruns:0 frame:0
TX packets:42531282 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1843669466 (1.7 GiB) TX bytes:2947749207 (2.7 GiB)
tcpdump: listening on wwan0, link-type EN10MB (Ethernet), capture size 65535 bytes
44788 packets captured
44802 packets received by filter
0 packets dropped by kernel
Sun Jul 26 13:47:32 AST 2015
after
...
RX packets:45585747 errors:0 dropped:0 overruns:0 frame:0
TX packets:42558941 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1845868782 (1.7 GiB) TX bytes:3158560778 (2.9 GiB)
- パケット: 42558941 + 45585747 - 42531282 - 45568603 = 44803
- バイト: 1845868782 + 3158560778 - 1843669466 - 2947749207 = 213 010 887
ご覧のとおり、パケット数はほぼ同じです。
day3.pcapのサイズはわずか12Mbです。
$ tshark -r day3.pcap -z io,stat,0,"SUM(frame.len)frame.len" | tail -5
| |1 | |
| Interval | SUM | |
|---------------------------| |
| 0.0 <> 599.6 | 12087649 | |
===================================
ifconfigで200Mbの違いが表示されるのはなぜですか? 213010887 / 44803 = 4754。何? MTUは1500にすぎません。
ベストアンサー1
一部の以前のバージョンの tcpdump は、キャプチャするパケットを切り捨てます。以下は関連情報です。。これにより、インターフェイスで受信されたデータより少ない量のデータが保存されます。
両方のパケット数に基づいて、これがファイアウォールや無差別モード切り替えのバグではないと仮定し、一部のインターフェイスは無差別モードに切り替えることを拒否し、他のMACアドレスにバインドされたトラフィックを破棄します。