① linux下如何抓指定IP的包
用tcpm命令可以抓指定IP的包,具體命令為:
tcpmp tcp -i eth1 -t -s 0 -c 100 and dst port 22 and src net 192.168.1.1 -w ./target.cap
參數解析:
tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型。
-i eth1 : 只抓經過介面eth1的包
-t : 不顯示時間戳
-s 0 : 抓取數據包時默認抓取長度為68位元組。加上-S 0 後可以抓到完整的數據包
-c 100 : 只抓取100個數據包
dst port 22 : 抓取目標埠是22的數據包
src net 192.168.1.0/24 : 數據包的源網路地址為192.168.1.1
-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析
(1)cap命令擴展閱讀
tcpmp語法格式:
tcpmp [-adeflnNOpqStvx][-c<數據包數目>][-dd][-ddd][-F<表達文件>][-i<網路界面>][-r<數據包文件>][-s<數據包大小>][-tt][-T<數據包類型>][-vv][-w<數據包文件>][輸出數據欄位]
tcpmp主要參數說明:
1、-a 嘗試將網路和廣播地址轉換成名稱。
2、-c<數據包數目> 收到指定的數據包數目後,就停止進行傾倒操作。
3、-d 把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標准輸出。
4、-dd 把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標准輸出。
5、-ddd 把編譯過的數據包編碼轉換成十進制數字的格式,並傾倒到標准輸出。
6、-e 在每列傾倒資料上顯示連接層級的文件頭。
7、-f 用數字顯示網際網路地址。
8、-F<表達文件> 指定內含表達方式的文件。
9、-i<網路界面> 使用指定的網路截面送出數據包。
10、-l 使用標准輸出列的緩沖區。
11、-n 不把主機的網路地址轉換成名字。
12、-N 不列出域名。
② 在linux命令行環境下如何抓取網路數據包
眾所周知,在Windows下開發運行環境下,在調試網路環境時,可以可以很方便的藉助wireshark等軟體進行抓包分析;並且在linux或者Ubuntu等桌面版里也可以進行安裝抓包工具進行抓包分析,但總有一些情況,無法直接運用工具(比如一些沒有界面的linux環境系統中),則此時我們就需要使用到最簡單的tcpmp命令進行網路抓包。
一般的,linux下抓包時,抓取特定的網路數據包到當前文件夾下的文件中,再把文件拷貝出來利用Windows下的wireshark軟體進行分析。
tcpmp命令詳解:(簡單舉例)
1、抓取到的文件為filename.cap,然後將此文件拷貝到Windows下,使用wireshar打開後,即可對此文件進行分析。
2、eth0 是主機的網路適配器名稱,具體的參數值可以在linux命令行窗口中通過 ifconfig 指令查詢。