快捷搜索:   nginx

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

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论