前段時(shí)間需要對(duì)路由器上的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行抓包,一番摸索之后發(fā)現(xiàn)了可以通過wireshark來對(duì)路由器進(jìn)行抓包,當(dāng)然前提路由器系統(tǒng)是Openwrt,這個(gè)方法同時(shí)也適合是Linux系統(tǒng)的主機(jī)或服務(wù)器,覺得挺有用的,于是記錄下來,具體的方法如下文;
這里我們以運(yùn)行openwrt系統(tǒng)的路由器為實(shí)驗(yàn)平臺(tái),我們通過搭建環(huán)境之后然后抓取路由器上的網(wǎng)絡(luò)數(shù)據(jù)包為實(shí)驗(yàn)?zāi)康模?/p>
1、抓包環(huán)境搭建
抓包環(huán)境分為兩部分:
第一部分: 是目標(biāo)平臺(tái)環(huán)境搭建,也就是這里的openwrt系統(tǒng)的路由器;
第二部分: 是window平臺(tái)環(huán)境搭建;
這兩部分的邏輯是通過在目標(biāo)平臺(tái)上運(yùn)行tcpdump抓包命令,然后利用plink.exe工具通過實(shí)時(shí)通道傳輸?shù)?strong>windows平臺(tái)上再用wireshark工具進(jìn)行展示分析;
1.1、目標(biāo)平臺(tái)openwrt路由器環(huán)境搭建
在openwrt系統(tǒng)下我們主要是要安裝tcpdump工具;
- ssh登錄到openwrt系統(tǒng);
- 檢察是否有tcpdump工具,如果沒有則自行安裝;簡(jiǎn)單兩步,環(huán)境搭建完成,接下來就是windows平臺(tái)環(huán)境搭建;
1.2、windows系統(tǒng)環(huán)境搭建
在windows系統(tǒng)里,我們主要要用到plink.exe和wireshark兩個(gè)工具,請(qǐng)自行安裝這兩個(gè)工具,其中plink通過安裝putty獲得,在安裝目錄下;
- plink.exe: 負(fù)責(zé)把tcpdump抓到的數(shù)據(jù)通過ssh傳輸?shù)奖镜兀?/li>
- wireshark: 負(fù)責(zé)把plink傳遞過來的數(shù)據(jù)進(jìn)行分析展示,請(qǐng)自行安裝此工具;
2、啟動(dòng)抓包方法
- 在CMD命令行下執(zhí)行以下命令即可進(jìn)行遠(yuǎn)程
plink.exe-batch-ssh-pw123456root@192.168.8.1"tcpdump-nibr-lan-s0-w-notport22"|"C:\ProgramFiles\Wireshark\Wireshark.exe"-k-i-
- 運(yùn)行效果【路由器的網(wǎng)絡(luò)數(shù)據(jù)實(shí)時(shí)顯示在wireshark上】
- 抓包命令解釋
- 執(zhí)行 plink.exe 程序,通過 SSH 協(xié)議進(jìn)行遠(yuǎn)程登錄到 IP 地址為 192.168.8.1 的 Linux 服務(wù)器。
- 在服務(wù)器上使用 tcpdump 命令監(jiān)聽名為 br-lan 的網(wǎng)絡(luò)接口上除 SSH(端口號(hào)為 22)外的所有數(shù)據(jù)包。由于 -s 0 選項(xiàng)指定了數(shù)據(jù)包的大小為 0,因此將抓取到的數(shù)據(jù)包寫入標(biāo)準(zhǔn)輸出,而不是顯示在終端中。
- 使用管道符 | 將服務(wù)器上的標(biāo)準(zhǔn)輸出(數(shù)據(jù)包)傳輸至 Windows 系統(tǒng)。
- 在 Windows 系統(tǒng)上執(zhí)行 C:\Program Files\Wireshark\Wireshark.exe 程序,將傳輸過來的數(shù)據(jù)包作為輸入。其中 -k 選項(xiàng)指定 Wireshark 自動(dòng)選擇第一個(gè)接口(這里是命令傳輸過來的數(shù)據(jù)流),-i - 選項(xiàng)指定 Wireshark從標(biāo)準(zhǔn)輸入中讀取輸入數(shù)據(jù)。
碰到的問題
命令行第一次執(zhí)行提示錯(cuò)誤:
Theserver'shostkeyisnotcachedintheregistry.
Youhavenoguaranteethattheserveristhecomputeryouthinkitis.
Theserver'sssh-ed25519keyfingerprintis:ssh-ed25519255801143c4fc695a5e:dbConnectionabandoned.
1559.770CaptureWarnCannotstoreinterfaceC:\ProgramFiles\Wireshark\extcap\nrf_sniffer_ble.bat,alreadyloadedaspersonalplugin
1504.049MainWarnQObject::~QObject:Timerscannotbestoppedfromanotherthread
解決方法:
第一次接入服務(wù)器時(shí),由于不信任,需要去掉-batch 參數(shù)后命令會(huì)進(jìn)入交互模式,在提示的地方輸入密碼,之后就不用重復(fù)輸入了,可以再加上-batch參數(shù);
最后
至此,我們已經(jīng)成功抓取通過路由器上所有的網(wǎng)絡(luò)數(shù)據(jù)包,同時(shí)提醒下這個(gè)方法也是同樣適合抓取Linux主機(jī)上的網(wǎng)絡(luò)數(shù)據(jù)哦。
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
8702瀏覽量
84569 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7391瀏覽量
88218 -
路由器
+關(guān)注
關(guān)注
22文章
3643瀏覽量
112824
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論