用tcpdump和ethereal捕獲IPv6數據包

tcpdump和ethereal都是著名的開源網絡數據包捕獲和分析軟件,大家對肯定都曾經用過,其中Ethereal是通過capture

filter設置捕獲規則,display

filter設置顯示規則,捕獲規則和顯示規則的語法是不同的,其中捕獲規則語法類似tcpdump的規律規則語法。這里主要通過例子簡要說明下如何設置

其tcpdump和ethereal中的過濾器,對IPv6數據包進行捕獲。

1. 基于主機的捕獲

host host? ?? ???#host可以是主機名或IP地址

src host host? ?? ???#host作為數據包的源地址

dst host host? ?? ???#host作為數據包的目的地址

$tcpdump -t -vv -n -i eth0 -s 512 host 1337::1

2. 基于端口號

port port? ?? ???#捕獲端口號為80的數據包,不管源或目的

src port port? ?? ???#源端口80

dst port port? ?? ???#目的端口80

3. 基于網段

net 192.168

src net 192.168

dst net 192.168

4. 基于協議

ether proto

ip proto tcp

tcp

udp

ip proto udp

5. 基于字節偏移

語法: proto[offset]

ip[8] : TTL字段

ip[9]: IP頭中的協議字段

因此,要捕獲IPv6的數據包,可以設置以下簡單的過濾規則:

1) proto ipv6

$tcpdump -t -vv -n -i eth0 -s 512 proto ipv6

2) ether proto 0x86dd

捕獲封裝在IPv4中的IPv6隧道數據包,則:

ip[9]=41

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1501641

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容