一、快捷鍵
Ctrl+M 標記/取消標記
shift+ctrl+N/B 下/上一個被標記的數據包
二、過濾器語法
1.捕獲過濾器的BPF(Berkeley Packet Filter)語法
語法
限定詞 | 說明 | 例子 |
---|---|---|
Type | 指出名字或數字所代表的意義 | host、net、port |
Dir | 指明傳輸方向是前往還是來自名字或數字 | src、dst |
Proto | 限定所要匹配的協議 | ether、ip、tcp、udp、http、ftp |
使用BPF語法創建的過濾器被稱為表達式,每個表達式包含一個或多個原語。每個原語包含一個或多個限定詞,然后跟着一個ID名字或者數字
|<----------原語--------->|<操作符>|<-----原語---->|
dst host 192.168.0.10 && tcp port 80
|限定詞|限定詞|<----ID---->| |限定詞|限定詞|ID|
可以使用3中邏輯運算符對原語進行組合
- 連接運算符 &&
- 選擇運算符 ||
- 否定運算符 !
例:
src 192.168.0.10 && port 80
只捕獲源地址是192.168.0.10和源端口或目的端口是80的流量
ether host 00-1a-a0-52-e2-a0
根據MAC地址捕獲
協議域過濾器
BPF語法還提供了協議域過濾器,可以堅持協議頭中的每一字節來過濾
例:
icmp[0]==3
返回icmp包的第1個字節的整形值比較,只捕獲代表目標不可達信息(類型3)的ICMP數據包
icmp[0:2]==0x0301
捕獲所有類型3代碼1表示的目標不可達、主機不可達的ICMP數據包
tcp[13]&4==4
只捕獲帶有RST標志的TCP數據包(RST標志位在TCP包偏移13字節,00000100)
常用捕獲過濾器表達式樣例
過濾器 | 說明 |
---|---|
tcp[13]&32==32 | 設置URG位的TCP數據包 |
tcp[13]&16==16 | 設置ACK位的TCP數據包 |
tcp[13]&8==8 | 設置PSH位的TCP數據包 |
tcp[13]&4==4 | 設置RST位的TCP數據包 |
tcp[13]&2==2 | 設置SYN位的TCP數據包 |
tcp[13]&1==1 | 設置FIN位的TCP數據包 |
tcp[13]==18 | TCP SYN-ACK數據包 |
ether host 00:00:00:00:00:00(你的MAC地址) | 流入或流出你MAC地址的流量 |
!ether host 00:00:00:00:00:00(你的MAC地址) | 不流入或流出你MAC地址的流量 |
broadcast | 僅廣播流量 |
icmp | ICMP流量 |
icmp[0:2]==0x0301 | ICMP目標不可達、主機不可達 |
ip | 僅IPv4流量 |
ip6 | 僅IPv6流量 |
udp | 僅UDP流量 |
2.顯示過濾器
常用顯示過濾器
過濾器 | 說明 |
---|---|
!tcp.port==3389 | 排除RDP流量 |
tcp.flags.syn==1 | 具有SYN標志位的TCP數據包 |
tcp.flags.rst==1 | 具有RST標志位的TCP數據包 |
!arp | 排除ARP流量 |
http | 所有HTTP流量 |
tcp.port==23 || tcp.port==21 | 文本管理流量(Telnet或FTP) |
smtp || pop || imap | 文本email流量(SMTP、POP或IMAP) |