nsx-edge虚拟机抓包实践

Edge抓包

今天在客户端进行故障排除时,我需要在环境中的一个边缘服务网关上执行包捕获。在诊断一系列不同的问题时,执行包捕获通常非常有用。
要启动包捕获,您可以跳到ESG的控制台,或者像我在本例中所做的那样,打开ESG的SSH会话。您需要知道在哪个接口上运行捕获,
因此运行以下命令列出所有接口(为了便于阅读/1,已经从输出中删除了所有显示在/下面的接口)


vShield-edge-3-0> show interface
Interface VDR is up, line protocol is up
  index 2 metric 1 mtu 1500 <UP,BROADCAST,RUNNING,NOARP>
  HWaddr: 12:ee:19:2e:18:f6
  inet6 fe80::10ee:19ff:fe2e:18f6/64
  proxy_arp: disabled
  Auto-duplex (Full), Auto-speed (2157Mb/s)
    input packets 0, bytes 0, dropped 0, multicast packets 0
    input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
    output packets 0, bytes 0, dropped 0
    output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
    collisions 0
 
Interface br-sub is up, line protocol is up
  index 13 metric 1 mtu 1500 <UP,BROADCAST,RUNNING,MULTICAST>
  inet6 fe80::5890:b7ff:fecd:6c9c/64
  proxy_arp: disabled
  Auto-duplex (Full), Auto-speed (2157Mb/s)
    input packets 0, bytes 0, dropped 0, multicast packets 0
    input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
    output packets 319, bytes 27498, dropped 0
    output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
    collisions 0
 
Interface lo is up, line protocol is up
  index 1 metric 1 mtu 16436 <UP,LOOPBACK,RUNNING>
  inet 127.0.0.1/8
  inet6 ::1/128
  proxy_arp: disabled
  Auto-duplex (Full), Auto-speed (2157Mb/s)
    input packets 10738, bytes 1550427, dropped 0, multicast packets 0
    input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
    output packets 10738, bytes 1550427, dropped 0
    output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
    collisions 0
 
Interface vNic_0 is up, line protocol is up
  index 3 metric 1 mtu 1500 <UP,BROADCAST,RUNNING,MULTICAST>
  HWaddr: 00:50:56:9d:74:93
  inet6 fe80::250:56ff:fe9d:7493/64
  inet 10.29.254.241/24
  proxy_arp: disabled
  Auto-duplex (Full), Auto-speed (2157Mb/s)
    input packets 22451, bytes 4017743, dropped 1535, multicast packets 4540
    input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
    output packets 44431, bytes 7692037, dropped 0
    output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
    collisions 0
 
Interface vNic_1 is up, line protocol is up
  index 6 metric 1 mtu 1500 <UP,BROADCAST,RUNNING,MULTICAST>
  HWaddr: 00:50:56:9d:0e:30
  inet 10.29.2.241/28
  inet6 fe80::250:56ff:fe9d:e30/64
  proxy_arp: disabled
  Auto-duplex (Full), Auto-speed (2157Mb/s)
    input packets 54060, bytes 5087410, dropped 2, multicast packets 26763
    input errors 0, length 0, overrun 0, CRC 0, frame 0, fifo 0, missed 0
    output packets 13694, bytes 1282604, dropped 0
    output errors 0, aborted 0, carrier 0, fifo 0, heartbeat 0, window 0
    collisions 0
 

在这个例子中,我想看看在vNic o上发生了什么。我建议(VMware也是这么建议的)不要在流量很大的生产环境中运行这个命令,
因为它会向屏幕输出大量数据,并可能在ESG上导致性能问题

debug packet display interface vNic_0

您可以使用以下命令将输出保存在捕获文件中,而不是在屏幕上显示输出。

vShield-edge-3-0> debug packet capture interface vNic_0
/blue_lane/bin/run_tcpdump: line 24: kill: (25763) - No such process
tcpdump: listening on vNic_0, link-type EN10MB (Ethernet), capture size 65535 bytes
 

您甚至可以在幕后看到它正在运行的tcpdump,这意味着您还可以编写很酷的表达式或过滤器。
下面的命令将与我的IP地址(10.29.16.70)之间的SSH连接排除在捕获之外。在表达式的单词之间必须使用下划线。

vShield-edge-3-0> debug packet display interface vNic_0 not_port_22_and_not_host_10.29.17.60                  
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vNic_0, link-type EN10MB (Ethernet), capture size 65535 bytes
05:49:51.551162 IP 10.29.64.240 > 10.29.16.70: ICMP echo reply, id 26207, seq 19278, length 64
05:49:51.980973 IP 10.29.2.254 > 10.29.16.70: ICMP echo reply, id 36695, seq 19879, length 64
 

在对文件执行捕获之后,可以使用以下命令列出所有捕获文件

vShield-edge-3-0> debug show files
total 1.0K
-rw------- 1 708 Mar 16 05:45 tcpdump_vNic_0.0

这一切都很好,但做一个目录列表并不能真正帮助我读取文件,所以要复制它,您需要使用以下命令之一,基于您想要使用的传输协议类型。选择是SCP或FTP。下面是如何使用SCP从ESG中复制捕获文件的示例。

vShield-edge-3-0> debug copy scp sneaku@10.29.4.1:/Users/sneaku/tcpdump_vNic_0.0 tcpdump_vNic_0.0
The authenticity of host '10.29.4.1 (10.29.4.1)' can't be established.
RSA key fingerprint is c3:63:18:0b:a8:c0:f0:ed:5b:44:db:ae:61:db:9b:b6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.29.4.1' (RSA) to the list of known hosts.
Password:
tcpdump_vNic_0.0                             100%  864     0.8KB/s   00:00
 

如果您喜欢,或者需要使用FTP,只需将命令中的协议选择SCP替换为FTP。
一旦您将文件从ESG中取出并放到您可以访问的位置,您就可以使用Wireshark打开捕获文件。

转载于:https://www.cnblogs.com/mrwuzs/p/10277697.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值