558
微信
网络异常时抓包操作说明__ECS常见问题_产品使用问题_云服务器 ECS-阿里云
,如果源服务器访问目标服务器出现异常,而且参阅文档, ,ping ,,丢包或不通时链路测试说明, ,和, ,,,能 ping ,,通但端口不通时端口可用性探测说明 ,排查分析处理后,还是未能解决问题,则需要通过抓包获取最原始的交互数据做进一步排查分析。本文先介绍了常用的抓包工具,然后对抓包的操作步骤进行了简要说明。本文不涉及抓包数据的分析处理说明。
,常用抓包工具介绍
,根据操作系统类型的不同,常用抓包工具分别简要介绍如下:
,Linux ,环境下的抓包工具介绍
,Linux ,环境下,通常通过 ,tcpdump ,来进行抓包和分析。它是几乎所有 ,Linux ,发行版本预装的数据包抓取和分析工具,。
,tcpdump ,工具的获取和安装可以参阅相应操作系统的官方文档,本文不再详述。
,tcpdump ,的用法如下:
tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]
[ -c count ]
[ -C file_size ] [ -G rotate_seconds ] [ -F file ]
[ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
[ --number ] [ -Q in|out|inout ]
[ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ]
[ -E spi@ipaddr algo:secret,... ]
[ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
[ --time-stamp-precision=tstamp_precision ]
[ --immediate-mode ] [ --version ]
[ expression ]
,常见参数说明,(,区分大小写),:
- ,-s ,设置数据包抓取长度。如果置为,0,,则表示自动选择合适的长度来抓取数据包。
- ,,-w,将抓包结果导出到文件,而不是在控制台进行分析和打印输出。
- ,,,-i ,指定需要监听的接口(网卡)。
- ,,,,-vvv ,输出详细的数据交互信息。
- ,,,,,expression ,一个正则表达式,用作过滤报文的条件。主要包含如下几类:
- ,,,,,关于类型的关键字:包括, ,host,(主机),,net,(网络),,port,(端口)。
- ,,,,,,确定传输方向的关键字:包括, ,src,(源),,dst,(目标),,dst or src,(源或目标),,dst and src,(源和目标)。
- ,,,,,,,使用协议的关键字:包括, ,icmp,,,ip,,,arp,,,rarp,,,tcp,,,udp,等类型。
,更多参数说明及用法,可以参阅 ,tcpdump ,的 ,man ,帮助。
,常见用法和示例输出:
- ,抓取指定网卡指定端口的交互数据
- ,操作指令
tcpdump -s 0 -i eth0 port 22
- ,示例输出
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes 20:24:59.414951 IP 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], seq 442372:442536, ack 53, win 141, length 164 20:24:59.415002 IP 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], seq 442536:442700, ack 53, win 141, length 164 20:24:59.415052 IP 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], seq 442700:442864, ack 53, win 141, length 164 20:24:59.415103 IP 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], seq 442864:443028, ack 53, win 141, length 164
- ,操作指令
- , 抓取指定网卡发送给指定 IP 上指定端口的交互数据,并在控制台输出详细交互信息
- 操作指令
tcpdump -s 0 -i eth1 -vvv port 22
- 示例输出
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes 20:24:20.991006 IP (tos 0x10, ttl 64, id 22747, offset 0, flags [DF], proto TCP (6), length 316) 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], cksum 0x2504 (incorrect -> 0x270d), seq 133624:133900, ack 1, win 141, length 276 20:24:20.991033 IP (tos 0x0, ttl 53, id 2348, offset 0, flags [DF], proto TCP (6), length 92) 42.120.74.107.43414 > 172.16.2.226.ssh: Flags [P.], cksum 0x4759 (correct), seq 1:53, ack 129036, win 15472, length 52 20:24:20.991130 IP (tos 0x10, ttl 64, id 22748, offset 0, flags [DF], proto TCP (6), length 540) 172.16.2.226.ssh > 42.120.74.107.43414: Flags [P.], cksum 0x25e4 (incorrect -> 0x5e78), seq 133900:134400, ack 53, win 141, length 500 20:24:20.991162 IP (tos 0x0, ttl 53, id 2349, offset 0, flags [DF], proto TCP (6), length 40) 42.120.74.107.43414 > 172.16.2.226.ssh: Flags [.], cksum 0xf39e (correct), seq 53, ack 129812, win 15278, length 0
- 操作指令
- 抓取发送至指定 IP 的 ping 交互数据,并在控制台输出详细交互信息
- 操作指令
tcpdump -s 0 -i eth1 -vvv dst 223.5.5.5 and icmp
- 示例输出
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes 20:26:00.368958 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84) 172.16.2.226 > public1.alidns.com: ICMP echo request, id 55097, seq 341, length 64 20:26:01.369996 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84) 172.16.2.226 > public1.alidns.com: ICMP echo request, id 55097, seq 342, length 64 20:26:02.371058 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84) 172.16.2.226 > public1.alidns.com: ICMP echo request, id 55097, seq 343, length 64 20:26:03.372181 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1), length 84) 172.16.2.226 > public1.alidns.com: ICMP echo request, id 55097, seq 344, length 64
- 操作指令
- ,抓取系统内所有接口数据并保存到指定文件
- 操作指令
tcpdump -i any -s 0 -w test.cap
- 示例输出
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
- 操作指令
Windows 环境下的抓包工具介绍
,Windows ,环境下,通常通过 ,Wireshark ,来进行抓包和分析。它是 ,Windows,下最流行的免费开源的数据包抓取和分析工具。
,Wireshark ,工具的获取和安装说明可以参阅其,,,官方网站,,本文不再详述。
,Wireshark,抓包步骤:
- ,安装后打开软件。
- ,,选择菜单 ,捕获 ,> ,选项,,弹出如下图所示WireShark 捕获接口配置图:
- ,如上图所示,根据接口名称或对应的 ,IP ,地址选定需要进行抓包的网卡,然后点击 ,开始 ,启动抓包。
- ,,一段时间后,选择菜单 捕获 ,> 停止,,停止抓包。
- ,,,选择菜单 ,文件 ,> ,保存,,将抓包结果保存到指定文件。
, 更多关于 ,Wireshark ,工具的使用和数据分析方法可以参阅其,,,官方文档,,本文不再详述。
,抓包操作步骤及工单提交须知
,抓包应该在出现异常时,从源服务器和目标服务器同时并发操作,以便于对比分析。其操作步骤如下:
- ,明确源服务器和目标服务器通过自身哪个网卡进行数据交互。
- ,,如果源服务器通过 ,NAT ,共享方式访问公网,则访问 ,ip.taobao.com ,等网站,获取本地网络对应的公网 ,IP,。
- ,,,出现异常时,参阅前文说明,通过相关工具从源服务器对目标服务器地址的目标端口,进行抓包。或者进行完整抓包,然后保存抓包数据。
- ,,,,出现异常时,参阅前文说明,通过相关工具从目标服务器对源服务器地址进行抓包。或者进行完整抓包,然后保存抓包数据。
- ,如果抓包数据可能很大,超出工单系统附件大小限制(当前为, 2M,)。则需要先将前述抓包结果打包压缩,再上传到第三方网盘并获取外链分享地址,或者通过 ,OSS ,管理控制台,,,上传,,文件,并,,,获取,,访问地址,(如果用户购买了阿里云对象存储, OSS ,服务)。
,联系,,,售后技术支持,,反馈,上述抓包数据获取地址,以便阿里云工程师做进一步排查分析,。
最后更新:2016-07-12 15:23:55
上一篇:
安全组使用FAQ__ECS常见问题_产品使用问题_云服务器 ECS-阿里云
下一篇:
打开网站后显示:温馨提示,该网站暂时无法访问__网站访问异常_技术分享_云虚机主机-阿里云
用户登录__系统管理_用户指南(Linux)_数据管理-阿里云
云服务器 ECS Linux SSH 基于密钥交换的自动登录原理简介及配置说明__远程登录 (SSH)_Linux操作运维问题_云服务器 ECS-阿里云
价格概揽__购买指导_视频直播-阿里云
云服务器 ECS 扩容数据盘(Linux实例)
云解析(免费版)服务条款__服务条款_产品简介_云解析-阿里云
使用 DTS 迁移 PPAS 数据__快速入门(PPAS)_云数据库 RDS 版-阿里云
百度联手奇瑞打造全新人工智能汽车,阿里云推出FPGA计算实例,提供人工智能加速服务
iOS推送证书设置__iOS SDK手册_App SDK 手册_移动推送-阿里云
SSH 登录时出现如下错误:requirement "uid >= 1000" not met by user "root"__远程登录 (SSH)_Linux操作运维问题_云服务器 ECS-阿里云
AvailableDiskCategoriesType__数据类型_API 参考_云服务器 ECS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云