pcap 파일은 같은 기간 ifconfig TX/RX보다 20배 작습니다.

pcap 파일은 같은 기간 ifconfig TX/RX보다 20배 작습니다.

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 주소에 바인딩된 트래픽을 삭제합니다.

관련 정보