我在Android上捕獲3G上的數據包,並且得到奇怪的輸出。我看到了mac地址而不是IP地址,並且不知道如何解碼它。當我通過WIFI運行相同的捕獲時,我會看到IP地址。它看起來好像需要爲3G接口更改鏈接類型。tcpdump - 通過Android上的3G /移動數據的奇怪輸出
目前,我只在數據鏈接類型列表(tcpdump -L)下看到「EN10MB(以太網)」選項。我在tcpdump網站上看到不同的鏈接類型(http://www.tcpdump.org/linktypes.html),我想我可能需要重新編譯源代碼,以便在數據鏈接類型下獲得「LINKTYPE_GPRS_LLC」以獲得正確的捕獲。
有誰知道如何做到這一點?我有libpcap(v0.9.8)和tcpdump(v3.9.8)(與AOSP 4.2.1源代碼一起)的源代碼。
謝謝,我真的很期待聽到你們。
下面是一個示例輸出,我得到了一個捕獲了3G接口:
平google.com
tcpdump的-vvvs 0
22:11:51.450906 40:00:40: 11:12:18(oui未知)> 45:00:00:38:66:22(oui未知),ethertype Unknown(0x1528),長度56: 0x0000:4a4b 4201 2107 bad2 0035 0024 5a5e 140c JKB。!。 5。$ Z^.. 0x0010:0100 0001 0000 0000 0000 0667 6f6f 676c ........... googl 0x0020:6503 636f 6d00 0001 0001 e.com .....
22:11:52.363748 00:00:fd:11:0c:9c(oui Unknown)> 45:00:00:e8:ed:ed(oui Unknown),ethertype Unknown(0x4201),length 232:
感謝哈里斯。感謝你的幫助。我發現問題是什麼。 –
問題是,我記得,有些守護進程(DHCP守護進程)要求該接口具有鏈路層包頭類型,如'ARPHRD_ETHERNET',他們(無論是谷歌的人或負責的Android移植到人你的手機)提供了一個非ARPHRD_'類型而非'ARPHRD_NONE'的非以太網接口,因此完全佔用了libpcap。我想我們必須把一些廢話放進libpcap來解決這個問題,嘆氣。 (Linux +網絡+ libpcap =痛苦。) – 2014-03-21 02:10:06
現在將垃圾扔進libpcap存儲庫的主幹中。 – 2014-03-21 18:11:38