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
阅读(3896) | 评论(0) | 转发(0) |