用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

你可能感兴趣的:(用tcpdump和ethereal捕获IPv6数据包)