ESXI主机之pktcap-uw抓包

1、使用 pktcap-uw 工具

注意:

  1. pktcap 是单向的,且仅默认为入站方向。
  2. 在 vSphere 6.5 及更早版本中,入站流量方向使用 --dir 0 指定,出站流量方向使用 --dir 1 指定。无法同时指定两个方向的流量。但是在  vSphere 6.7 及更高版本中,入站流量方向使用 --dir 0 指定,出站流量方向使用 --dir 1 指定,--dir 2为双向。
  3. 可以并行运行两个(或更多个)单独跟踪,但稍后需要在 wireshark 中合并。

  • 要获得基本的帮助和语法信息,请使用 -h 选项:

    # pktcap-uw -h |more
     
  • 要查看对 vmkernel 端口流量的实时捕获:

    # pktcap-uw --vmk vmkX

    例如,要捕获 vmk0 上的帧/数据包:

    # pktcap-uw --vmk vmk0
     
  • 要查看主机 vmnic 上的特定物理网卡的实时捕获:

    # pktcap-uw --uplink vmnicX

    例如,要捕获 vmnic7 上的帧/数据包:

    # pktcap-uw --uplink vmnic7
     
  • 要查看对虚拟机特定 vSwitch 端口的实时捕获,请使用--switchport选项:

    # pktcap-uw --switchport switchportnumber

    例如,要捕获在连接到dvSwitchport 8的虚拟机之间往返的帧或数据包:

    # pktcap-uw --switchport 8
     
  • 要捕获对文件的输出,请使用-o选项:

    # pktcap-uw --vmk vmk# -ofile.pcap

    例如,要捕获来自 vmk0 的数据包,并保存到 /tmp 目录下的 test.pcap 文件:

    # pktcap-uw --vmk vmk0 -o /tmp/test.pcap

    注意
    • 当您使用 -o 选项时,无论其他设置如何,输出都采用 pcap 格式。
    • 要指定 pktcap-uw 运行的秒数,使用  -G <seconds>。
    • 要指定 pktcap-uw 运行时需要达到的输出文件大小(单位为兆字节),使用 -C <file_size>。
    • 要结束捕获,请务必使用 Ctrl-C 多次,而不是 Ctrl-Z,因为 Ctrl-Z 可能会使后台进程持续运行,从而阻止后续的 pktcap-uw 命令运行,并会报告错误:

      错误: 无法创建会话,正在退出 (error: Can't create the session, Exiting)

捕获丢弃的数据包:

pktcap-uw --capture Drop [filter_options] [--outfile pcap_file_path [--ng]] [--count number_of_packets]

2、高级用法:同时跟踪多个端口

例如,同时跟踪特定的 vSwitch 端口及其关联的上行链路:

  1. 要获取 vSwitch 端口号,请运行以下命令:

    net-stats -l
  2. 标识并记下以下参数:

esxtop 命令返回的端口 ID —--switchport 50331665

要跟踪的 vmnic2 物理端口 —--uplink vmnic2 -

pcap 输出文件的位置 —/tmp/vmnic2.pcap

  1. 运行 pktcap-uw 命令,在两个点同时捕获数据包:

    pktcap-uw --switchport 50331665 -o /tmp/50331665.pcap & pktcap-uw --uplink vmnic2 -o /tmp/vmnic2.pcap &

    注意:此处假定命令 shell 为 Bash shell。因此,如果在 vswitch 上有多个上行链路,则只需在结尾 & 后添加命令,并在结尾处添加一个 &。
     
  2. 您可以使用 kill 命令停止pktcap-uw跟踪。

    kill $(lsof |grep pktcap-uw |awk '{print $1}'| sort -u)
     
  3. 运行此命令,检查是否所有的pktcap-uw跟踪都已停止:

    lsof |grep pktcap-uw |awk '{print $1}'| sort -u

3、实操

3.1物理网卡抓包

查看物理适配器列表:

esxcli network nic list

查询虚拟机网口对应的物理网卡:

esxtop -> n  与 net-stats -l配合使用通过PORT-ID确认虚拟机eth口与物理网卡的vmnic的对应关系

物理网卡抓包:

pktcap-uw --uplink [vmnic1] -o Snd2-1.pcap  (--dir 1:监控离开VDS的数据包;--dir 0:监控进入VDS的数据包 (不指定默认为进入VDS的包) ;--count 100:限制数据包数量)

3.2VDS抓包

查看虚拟机端口对应的VDS端口:

esxtop –> n

查看虚拟机VDS入口:

net-stats -l

VDS抓包:

pktcap-uw --switchport [PORT-ID] -o Rcv12.pcap

3.3vmkernel抓包

vmknic抓包:

pktcap-uw –vmk vmk0 –c 25 –o vmknic_capture.pcap

3.4常用可选参数

--stage {0|1}

        捕获更靠近其源或目标的数据包。使用此信息可检查数据包在遍历堆栈中各个点时的变化情况,0 表示更靠近源的流量,1 表示更靠近目标的流量。

--dir {0|1|2}

        根据流量相对于虚拟交换机的方向捕获数据包。

        0 代表入站流量,1 代表出站流量,2 代表双向流量。

        默认情况下,pktcap-uw 实用程序捕获输入的流量。

--capture capture_point

-A | --availpoints

        查看 pktcap-uw 实用程序支持的所有捕获点。

-c数目

-C大小


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

579YOU

对您有用的话给个鼓励吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值