iOS掃描局域網(wǎng)iP并通過libpcap獲取對應(yīng)的mac地址

前提條件:越獄狀態(tài)下
起因:由于蘋果在iOS7以后對sysctlioctl進行了技術(shù)處理,無法獲取到正確的MAC地址,返回的都是02:00:00:00:00:00


通過查找資料削解,得知cydia有一款插件可以進行掃描出MAC地址,名稱為arp-scan,這款插件在http://repo.hackyouriphone.org/https://mcapollo.githun.io/Public/這2個源都可以下載到

-w480

然后ssh到手機上使用arp-acan -l查看沟娱,如下圖

-w632

圖中就能看到對應(yīng)IP的MAC地址.


功能是實現(xiàn)了氛驮,但是這個要集成到代碼里,可不好搞啊济似,剛開始我是直接提取了deb,一共包括2個deb,一個是arp-scan.deb,一個是libpcap.deb,后面這個是其依賴庫!
然后我想的是直接通過代碼來安裝這2個deb,之后使用命令啟動,最后發(fā)現(xiàn)要成功安裝deb這需要很多的依賴柳爽,和我的需求不符.

然后我又想了個辦法,自己編譯一個支持arm64arp-scan從網(wǎng)絡(luò)上下載然后放到手機中,將libpcap依賴也從網(wǎng)絡(luò)下載到手機中,然后使用命令啟動,雖然這樣好像可以實現(xiàn),但是麻煩之處在于,需要將編譯的二進制文件復(fù)制到/usr/local/bin目錄下,還有其他的依賴文件,需要手動修復(fù)路徑,而且通過命令執(zhí)行出來的結(jié)果還需要我手動去提取,也是一件很麻煩的事.而且只能同步等待掃描結(jié)果,如果子網(wǎng)很大,那將一直卡主.也只能放棄此方法


最終解決方案

自己將libpcap編譯成.a靜態(tài)庫,然后使用源碼集成arp-scan,從而就可以實現(xiàn)功能,也不需要使用命令執(zhí)行了,但這里面也踩了不少坑(主要還是因為對跨平臺不熟).

首先去tcpdump下載所需要的依賴libpcap
我下載的是libpcap-1.9.1.tar.gz,然后將其解壓,文件為

-w209

然后我們開始編譯支持arm64結(jié)構(gòu)的libpcap
由于libpcap支持cmake
所以我們在當前目錄下建立一個build文件夾,然后打開終端進入build文件夾執(zhí)行
cmake .. -G Xcode
-w215

等執(zhí)行完成后,在build目錄下就會自動生成個XCode工程
-w1044

雙擊pcap.xcodeproj打開工程選擇pcap_static
-w598

-w1145

然后將其改為如下圖
-w715

然后pcap-bpf.c會報錯,將其內(nèi)容注釋即可成功build(但是最后打包出來的有沒有功能缺陷暫時未知)因為我后面用了另一種方式獲取了靜態(tài)庫.這是使用lipo查看打包出來的架構(gòu)
-w673

因為對交叉編譯不太熟悉,所以我也不知道這個編譯出來的庫是否可以用,在后面的工作中,我發(fā)現(xiàn)了可以直接從手機中導(dǎo)出,所以我直接使用了導(dǎo)出的靜態(tài)庫,以后對交叉編譯熟悉了再回過來看這個報錯問題.


cydia中可以看到libpcap的目錄結(jié)構(gòu)

-w254

直接使用scp或者愛思助手直接將這些文件全部拖出來
-w414

可以直接下載我提取的:下載地址


編譯arp-scan

在這里先下載arp-scan的源碼
然后使用MonkeyDev建立一個Commond-Line工程碱屁,將pacp的靜態(tài)庫和相應(yīng)頭文件拉進去,頭文件可以在上面的下載地址里找到

-w270

將arp的這幾個文件拖進來
-w244

因為arp-scan也使用了交叉編譯,有很多的宏,所以arp-scan.c文件里我自己將宏去掉,然后將一些實現(xiàn)全部移到了.c文件里
-w332

但要注意一點是在get_hardware_address方法實現(xiàn)里,

if (ifm->ifm_type != RTM_IFINFO || (ifm->ifm_addrs & RTA_IFP) == 0)

中的RTM_IFINFORTA_IFP<net/route.h>中的宏定義,iOS里是沒有這個宏的,所以我直接將其復(fù)制過來

if (ifm->ifm_type != 0xe || (ifm->ifm_addrs & 0x10) == 0)

arp-scan.c中的main函數(shù)改個名字

-w281

然后在main.m里調(diào)用
-w341

然后打包成二進制到手機上測試
-w536

大功告成磷脯!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市娩脾,隨后出現(xiàn)的幾起案子赵誓,更是在濱河造成了極大的恐慌,老刑警劉巖柿赊,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件俩功,死亡現(xiàn)場離奇詭異,居然都是意外死亡碰声,警方通過查閱死者的電腦和手機诡蜓,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胰挑,“玉大人蔓罚,你說我怎么就攤上這事椿肩。” “怎么了豺谈?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵郑象,是天一觀的道長。 經(jīng)常有香客問我茬末,道長厂榛,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任丽惭,我火速辦了婚禮击奶,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘责掏。我一直安慰自己柜砾,他們只是感情好,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布拷橘。 她就那樣靜靜地躺著局义,像睡著了一般。 火紅的嫁衣襯著肌膚如雪冗疮。 梳的紋絲不亂的頭發(fā)上萄唇,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天术幔,我揣著相機與錄音,去河邊找鬼诅挑。 笑死四敞,一個胖子當著我的面吹牛拔妥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播没龙,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼硬纤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起筝家,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎溪王,沒想到半個月后值骇,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡缕减,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年雷客,在試婚紗的時候發(fā)現(xiàn)自己被綠了芒珠。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桥狡。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖皱卓,靈堂內(nèi)的尸體忽然破棺而出裹芝,到底是詐尸還是另有隱情,我是刑警寧澤娜汁,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布嫂易,位于F島的核電站,受9級特大地震影響掐禁,放射性物質(zhì)發(fā)生泄漏怜械。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一傅事、第九天 我趴在偏房一處隱蔽的房頂上張望缕允。 院中可真熱鬧,春花似錦蹭越、人聲如沸障本。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驾霜。三九已至,卻和暖如春买置,著一層夾襖步出監(jiān)牢的瞬間粪糙,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工忿项, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蓉冈,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓倦卖,卻偏偏與公主長得像洒擦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子怕膛,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353