天天看點

TcpDump 抓包 傳輸資料包

tcpdump 抓包工具

(很容易的,别有壓力,朋友)

1.首先看一下它的作用:tcpdump可以将網絡中傳送的資料包的“頭”完全截獲下來提供分析。它支援針對網絡層、協定、主機、網絡或端口的過濾,

  并提供and、or、not等邏輯語句來幫助你去掉無用的資訊。

2.舉個例子

 jason@jason-inspiron-3542:~$ sudo tcpdump -i wlan0   -a   host 192.168.0.140  and port 8080

                                                    (1)                  (2)     (3)             (4)                           (5)  

(1)sudo :因為tcpdump的使用需要root權限,是以sudo一下,或者直接 sudo -s 後輸入root密碼,切換到root使用者--> root@jason-inspiron-3542:~$

(2)-i   : -i  (i 代表 interface) 指定tcpdump 需要監聽的接口.  如果沒有指定, tcpdump 會從系統接口清單中搜尋編号最小的已配置好的接口

      (不包括 loopback 接口).一但找到第一個符合條件的接口, 搜尋馬上結束.

  -i eth0 : 隻抓經過接口eth0的包

  -i wlan0 : 隻抓取經過接口wlan0的包

(這裡-i 後面接什麼要看具體情況,終端下輸入ifconfig顯示如下:

root@jason-inspiron-3542:~# ifconfig

eth0     link encap:以太網  硬體位址 74:e6:e2:08:89:32  

         up broadcast multicast  mtu:1500  躍點數:1

        ......

lo        link encap:本地環回  

         inet 位址:127.0.0.1  掩碼:255.0.0.0                           

         inet6 位址: ::1/128 scope:host

......

wlan0     link encap:以太網  硬體位址 4c:bb:58:1d:43:cf  

         inet 位址:192.168.0.140  廣播:192.168.0.255  掩碼:255.255.255.0

         inet6 位址: fe80::4ebb:58ff:fe1d:43cf/64 scope:link

一共有三個eth0、lo、wlan0

-i lo :不可用

-i wlan0 :以太網,必須wlan0端口選項inet位址才是可用的,這裡wlan0中是有inet位址的,是以可用

-i eth0  : 以太網,必須eth0端口選項inet位址才是可用的,這裡eth0中是沒有inet位址的,(是以我這裡是不可用)

(3)-a  表示以ascii碼方式顯示每一個資料包(不會顯示資料包中鍊路層頭部資訊). 在抓取包含網頁資料的資料包時, 

  可友善檢視資料(nt: 即handy for capturing web pages).

(4)host 可以是一個ip位址, 也可以是一個主機名.

(5)port 8080:監聽8080端口的資料傳輸包

監聽主機192.168.0.140資料傳輸包

 sudo tcpdump -i wlan0 -t -a -s 0  host 192.168.0.140 

 sudo tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾資料報的類型

(2)-i :指定監聽的網絡接口。 

-i eth1 : 隻抓經過接口eth1的包

-i wlan0 : 隻抓取經過接口wlan0的包

(3)-t : 不顯示時間戳

(4)-s 0 : 抓取資料包時預設抓取長度為68位元組。加上-s 0 後可以抓到完整的資料包

(5)-c 100 : count

隻抓取100個資料包

(6)dst port ! 22 : 不抓取目标端口是22的資料包

(7)src net 192.168.1.0/24 : 資料包的源網絡位址為192.168.1.0/24

(8)-w ./target.cap : 儲存成cap檔案,友善用ethereal(即wireshark)分析

異常:

1.tcpdump: warning: eth0: no ipv4 address assigned

  沒有給 eth0 配置設定 ipv4 位址,輸入ifconfig 檢視 eth0 端口 ipv4的inet位址為空,

  則使用不了eth0端口,具體檢視上文。

2.tcpdump: wlan0: you don't have permission to capture on that device

  說明你不是root使用者操作,沒有權限,切換到root使用者就ok了

繼續閱讀