Wireshark網絡分析實戰筆記(一)抓包過濾器

抓包過濾器和顯示過濾器的差異:


1.抓包過濾器配置在抓包以前,wireshark僅僅抓取抓包過濾器過濾的數據網絡

2.顯示過濾器配置在抓包後,wireshark已經抓取所有的數據包,顯示過濾器讓wireshark僅僅顯示想看的數據包less



抓包過濾器的配置方法:


1.在主頁面的...using this filter中輸入表達式(點擊文本框前面的黃色button會顯示常用的表達式):




2.打開capture interfaces選項,在capture filter for selected interfaces中輸入表達式:





Ethernet過濾器(第二層過濾器)


ether host <>   抓取以太網流量的源或目的MAC地址(比方:ether host 00:00:5e:00:53:00)
tcp

ether dst <>  抓取以太網流量的目的MAC地址
post

ether src<>  抓取以太網流量的源的MAC地址
this

ether broadcast  抓取以太網廣播流量
spa

ether multicast 抓取以太網多播流量
.net

ether proto <>  所抓以太網流量的以太網協議類型編號(比方:ether proto 0x0806)
blog

常見的以太網協議類型字段
0x0800 IP
0x0806 ARP
0x8137 Novell IPX
0x809b Apple Talk

關於以太網協議類型的具體介紹可以參看這篇博文:http://blog.csdn.net/fall221/article/details/47861335
ip

下面兩張圖是一個ARP數據包和一個DNS數據包,它們的以太網協議類型字段各自是0x0806(ARP)和0x0800(IP):ci


vlan <>  僅僅抓取指定VLAN的流量



主機和網絡過濾器(第三層過濾器)


ip/ipv6  僅僅抓取IPv4或IPv6的數據包
host <>  僅僅抓取源於或發往所指定的主機名或IP地址的流量(比方:host 192.168.1.1)
dst host <>   僅僅抓取發往所指定的主機名或IP地址的流量
src host <>  僅僅抓取源於所指定的主機名或IP地址的流量
gateway <> 僅僅抓穿過host的流量
net<>  僅僅抓取源於或發往標識符的IPv4huoIPv6網絡號的流量(比方:net 192.168.1.0/24 或net 192.168.1.0 mask 255.255.255.0 )
dst net <>  僅僅抓取發往標識符的IPv4huoIPv6網絡號的流量
src net <>  僅僅抓取源於標識符的IPv4huoIPv6網絡號的流量
broadcast   僅僅抓取IP廣播包
multicast  僅僅抓取IP多播包
ip proto <> 僅僅抓取IP報頭的協議類型字段值等於特定值的數據包

常見的協議類型字段值
1 ICMP
2 IGMP
6 TCP
17 UDP
47 GRE
88 EIGRP
89 OSPF
下圖爲一個TCP數據包。當中三層IP層的Protocol字段爲6,表示其上層協議爲TCP:


ip6 proto <>   僅僅抓取IPv6報頭的協議類型字段值等於特定值的數據包
icmp[icmptype]==<>  僅僅抓取特定類型的數據包(比方:icmp[icmptype]==0 ICMP echo reply數據包)
ip[2:2]==<> 字節偏移和淨載匹配過濾器(第一個2表明從第二字節開始,第二個2表明兩個字節長)



TCP/UDP過濾器(第四層過濾器)


port <>    抓取源或目的端口匹配的數據包(比方:port 80或port http)
dst port <>   抓取目的端口匹配的數據包
src port <>   抓取源端口匹配的數據包
tcp/udp dst/src portrange <>-<>   抓取TCP或UDP的源或目的端口在一個範圍內的數據包(比方:tcp dst portrange 50 100 )
tcp[tcpflags] & (tcp-rst)==1  抓取RST標識位爲1的TCP數據包

下圖爲一個RST標識位爲1的TCP數據包:


less <> 僅僅抓取不長於<>的數據包
greater <> 僅僅抓取不短於<>的數據包
tcp[13] & 0x01 =1    採用節偏移和淨載匹配過濾器方法,13表明TCP數據包的第13個字節開始,13字節就是標記位,這個的意思是抓取FIN爲1的數據包



複合型過濾器

複合過濾器就是使用「與或非」操做符鏈接幾個單獨的表達式

!或not
&&或and
||或or
舉幾個樣例:

not broadcast and not multicast   不抓取廣播和多播數據包(僅僅抓取單播包)

tcp port 23 and host 192.168.1.1  僅僅抓取主機192.168.1.1的telnet流量

tcp dst port 23 and tcp src portrange 5000-6000   抓取tcp源端口範圍爲5000-6000的telnet流量



配置字節偏移和淨載匹配型過濾器

基本格式例如如下:

proto [offset:bytes]

proto:要抓取的協議

offset:從協議頭部開始所偏移的字節數

bytes:抓包過濾器所要檢查的字節數

舉幾個樣例:

tcp [2:2]>50 and tcp[2:2]<100 port範圍是50-100的TCP數據包

tcp[14:2]<8192 抓取窗體大小字段低於8192的TCP數據包

下面附上IP,TCP。UDP包頭以供參考:





相關文章
相關標籤/搜索