为什么在Wireshark的“ any”接口上捕获数据包时,每个icmp请求都会在vxlan隧道中转换为四个数据包?

时间:2018-09-17 13:00:31

标签: openvswitch

我有两个使用VXLAN隧道连接的虚拟机,并打开了虚拟交换机。一切正常,但是,我不明白为什么我发送的每个请求在Wireshk上都有四个icmp请求数据包。

我在两个虚拟机上的配置如下所示:

来宾1配置:

enp0s3(以太网):192.168.56.101/24

int-br(VXLAN):192.168.55.101/24

Guest2界面:

enp0s3(以太网):192.168.56.102/24

int-br(VXLAN):192.168.55.102/24

当我从guest1 ping来宾guest2(192.168.55.102)时,这是我在Wireshark上看到的(数据包在“ any”接口上捕获):

enter image description here

屏幕截图显示了我发送的两个icmp请求及其响应(序列1和2)在“ any”接口的wireshark中捕获的数据包。

  • 第一个seq = 1的请求显示“未找到响应!”并且未使用VXLAN标头封装。

  • 带有seq = 1的第二个请求显示“在7中答复”,并且未使用VXLAN标头封装。

  • 第三个seq = 1的请求显示“未找到响应!”但是它封装在VXLAN标头中。

  • 第四个带有seq = 1的请求显示为“ reply in 5”,并且也封装在VXLAN标头中。

非常感谢为什么我发送的每个请求都发送四个请求。

1 个答案:

答案 0 :(得分:0)

由于您告诉Wireshark在EmailSender="robo@localhost.helisis.com" EmailReceiver="robo@helisis.com" msgBody='''From: dnsmailer <netrobo@helisis.com> To: To Person <robo@helisis.com> Subject: rsync Status from infra-syslog Rsync Process Completed Succesfully. ''' if ',' in args.hosts: for host in args.hosts.split(','): dest = dst + "/" + host sync(host,dest) else: dest = dst + "/" + args.hosts sync(args.hosts,dest) try: smtpobj=smtplib.SMTP('mailserver.global.helisis.com', 25, 'localhost.helisis.com') smtpobj.sendmail(EmailSender,EmailReceiver,msgBody) except Exception as e: print(e) 界面上进行监听,因此它在所有界面上监听。因此,当它们经过1.来宾1的封装vNIC,2。来宾1的接口,3。来宾2的接口,4。来宾2的封装vNIC时,您会看到数据包。

尝试在单个接口而不是any上捕获数据包,并且每个数据包只能看到一次。