ECI支持一键开启tcpdump功能,用于捕获和解析网络数据包,帮助您监视和分析网络流量。本文介绍如何开启tcpdump,以便在容器出现网络异常时,抓取网络报文,分析定位问题。
背景信息
容器出现网络异常时,您可能需要抓取网络报文来分析定位问题,但实际操作时可能会碰到以下问题:
为解决上述问题,ECI支持一键开启tcpdump功能。该功能的逻辑如下:
使用限制
以下地域暂不支持tcpdump:华北6(乌兰察布)、华南2(河源)、华南3(广州)、华东5(南京-本地地域)、菲律宾(马尼拉)、韩国(首尔)、泰国(曼谷)、马来西亚(吉隆坡)。
操作步骤
您可以通过弹性容器实例控制台或者OpenAPI来使用tcpdump功能。
控制台
登录弹性容器实例控制台。
为ECI实例开启tcpdump。
单击目标实例ID,打开实例详情页面。
单击运维页签,然后选择Tcpdump页签。
单击开启。
根据需要设置参数,然后单击确定。
参数说明如下:
参数 | 描述 |
源 | 可设置要抓包的源端IP地址或IP网段,以及对应端口。 |
目的 | 可设置要抓包的目的端IP地址或IP网段,以及对应端口。 |
网卡 | 选择要抓包的网卡。 |
包 | |
网络协议 | 选择网络协议。支持TCP、UDP和ICMPv4。 |
开启tcpdump后,系统将开始抓包,并生成一个对应的运维任务,任务的状态为运行中。
根据需要对目标ECI实例进行调试,然后关闭tcpdump。
关闭tcpdump后,系统将停止抓包,并生成相应的数据包文件,存储到OSS中。关闭方式如下:
关闭方式 | 说明 |
手动关闭 | 在目标实例的Tcpdump页签下,单击关闭。 |
自动关闭 | 如果在开启tcpdump时,设置了包长度、包数量、持续时长等参数限制数据包大小、抓取时间等,则系统将在满足某一限制条件时,自动关闭tcpdump。 |
单击运维任务对应结果列中的下载,下载数据包文件到本地。
说明 如果下载没有反应,请检查浏览器的网站权限设置。更多信息,请参见常见问题。
OpenAPI
调用CreateInstanceOpsTask,为ECI实例开启tcpdump。
开启tcpdump时,需设置以下参数:
根据需要对目标ECI实例进行调试,然后关闭tcpdump。
关闭tcpdump后,系统将停止抓包,并生成相应的数据包文件,存储到OSS中。关闭方式如下:
关闭方式 | 说明 |
手动关闭 | 调用CreateInstanceOpsTask关闭tcpdump,需设置以下参数: |
自动关闭 | 如果在开启tcpdump时,OpsValue中设置了Snaplen、Duration、PacketNum、FileSize等参数限制数据包大小、抓取时间等,则系统将在满足某一限制条件时,自动关闭tcpdump。 |
下载数据包文件。
调用DescribeInstanceOpsRecords,从返回信息的ResultContent中获取数据包文件保存地址。
数据包文件保存在OSS中,地址示例:http://eci-ops-files-cn-beijing.oss-cn-beijing.aliyuncs.com/pcaps/1609****/eci-2ze6n7kqdici********-eth0-****.pcap?Expires=****&OSSAccessKeyId=****&Signature=****&security-token=****
。
访问数据包文件保存地址,下载数据包文件到本地。
常见问题
开启tcpdump抓取网络数据包后,在控制台下载数据包文件没有反应,怎么办?
如果下载没有反应,请检查浏览器的网站权限设置。例如Chrome浏览器可以参考以下方式开启权限:
打开弹性容器实例控制台,单击浏览器地址栏前面的图标,选择网站设置。
将配置项不安全内容改为允许。