Ubuntu使用tcpdump工具

2021-09-06 15:02:28 字數 3901 閱讀 9503

ubuntu預設是安裝好了tcpdump工具的,如果沒有安裝的話使用sudo apt-get install tcpdump即可安裝。

(如果遇到tcpdump: no suitable device found的問題,檢查一下是不是在用root許可權執行tcpdump,tcpdump只能在root許可權下工作)

安裝好tcpdump之後,執行tcpdump:

1. tcpdump -d 獲取網路介面卡列表

,以下是在ubuntu上獲取到的結果:

root@holmesian-laptop:~# tcpdump -d

1.eth0

2.wlan0

3.usbmon1 (usb bus number 1)

4.usbmon2 (usb bus number 2)

5.usbmon3 (usb bus number 3)

6.usbmon4 (usb bus number 4)

7.usbmon5 (usb bus number 5)

8.any (pseudo-device that captures on all inte***ces)

9.lo

2. tcpdump -i 《需要監控的網路介面卡編號》

,例如我想監控我的無線網絡卡wlan0,則使用tcpdump -i 2。

root@holmesian-laptop:~# tcpdump -i 2

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on wlan0, link-type en10mb (ethernet), capture size 96 bytes

21:24:14.578430 00:24:f9:05:78:00 (oui unknown) unknown ssap 0x78 > 00:1f:3a:18:fa:06 (oui unknown) unknown dsap 0xd8 information, send seq 0, rcv seq 16, flags [command], length 70

21:24:14.578447 00:24:f9:05:78:00 (oui unknown) unknown ssap 0x78 > 00:1f:3a:18:fa:06 (oui unknown) unknown dsap 0xd8 information, send seq 0, rcv seq 16, flags [command], length 223

21:24:14.995603 00:24:f9:05:78:00 (oui unknown) unknown ssap 0x20 > 78:dd:08:d1:b2:ca (oui unknown) unknown dsap 0x76 information, send seq 0, rcv seq 16, flags [command], length 70

21:24:15.019811 00:24:f9:05:78:00 (oui unknown) unknown ssap 0xa6 > 2c:81:58:ec:9c:54 (oui unknown) unknown dsap 0x0a information, send seq 0, rcv seq 16, flags [command], length 72

如果不使用-i來定義監控介面卡的話,預設使用列表中的第乙個;

3. 使用無線網絡卡wlan0監控ip位址為

172.16.86.111

上443埠的tcp協議

:tcpdump -i 2 host 172.16.86.111 and tcp port 443

4. 如果想要顯示資料報的內容,需要使用-x引數

,如,我想要顯示捕獲的https資料報http header的內容:

tcpdump -x -i 2 host 172.16.86.111 and tcp port 443

顯示結果如下:

.c可以看到該結果只顯示了https頭的一部分,沒有顯示全,是因為tcpdump預設將顯示的資料長度截斷了,可以使用-s後面加資料長度,來設定資料顯示長度:

tcpdump -x -s 0 -i 2 host 172.16.86.111 and tcp port 443

以上的例子中,-s 0 表示自動設定長度使其能夠顯示所有資料。

5. 捕獲的資料太多,不斷刷屏,可能需要將資料內容記錄到檔案裡,需要使用-w引數

:tcpdump -x -s 0 -w aaa host 192.9.200.59 and tcp port 8000

則將之前顯示在螢幕中的內容,寫入tcpdump可執行檔案同級目錄下的aaa檔案中。

檔案檢視方式如下,需要使用-r引數:

tcpdump -x -s 0 -i 2 -r holmesian host 172.16.86.111 and tcp port 443

如果這樣寫:

tcpdump -r holmesian

則只能看到最簡單的資料傳輸互動過程,看不到資料報內容,檢視時也需要使用相應的引數。

6.總結

總結一下,tcpdump的引數分兩個部分,選項(options)和表示式(expression):

root@holmesian-laptop:~# tcpdump -h

tcpdump version 4.0.0

libpcap version 1.0.0

usage: tcpdump [-aaddefikllnnopqrstuuvxx] [ -b size ] [ -c count ]

[ -c file_size ] [ -e algo:secret ] [ -f file ] [ -g seconds ]

[ -i inte***ce ] [ -m secret ] [ -r file ]

[ -s snaplen ] [ -t type ] [ -w file ] [ -w filecount ]

[ -y datalinktype ] [ -z command ] [ -z user ]

[ expression ]

ubuntu下安裝Tcpdump並使用

因為要在linux測試乙個http協議偽裝的需要,使用到了linux下的wireshark抓包軟體 tcpdump。具體的安裝過程如下 2.安裝c編譯所需包 apt get install build essential 3.安裝 libpcap的前置 apt get install flex,ap...

tcpdump使用詳解

tcpdump採用命令列方式,它的命令格式為 tcpdump adeflnnopqstvx c 數量 f 檔名 i 網路介面 r 檔名 s snaplen t 型別 w 檔名 表示式 1.tcpdump的選項介紹 a 將網路位址和廣播位址轉變成名字 d 將匹配資訊包的 以人們能夠理解的彙編格式給出 ...

tcpdump 日常使用

使用 i引數指定tcpdump監聽的網路介面,這在計算機具有多個網路介面時非常有用,使用 c引數指定要監聽的資料報數量,使用 w引數指定將監聽到的資料報寫入檔案中儲存 a想要截獲所有210.27.48.1 的主機收到的和發出的所有的資料報 tcpdump host 210.27.48.1 b想要截獲...