OSS问题排除之抓包

Windows

Wireshark是网络包分析工具,主要作用是尝试捕获网络包,显示包的尽可能详细的数据。Wireshark是开源软件项目,GPL协议发行。您可以免费在任意数量的机器上使用,无授权和付费问题。

安装

Wireshark下载地址:https://www.wireshark.org/#download。下载完成后,点击安装,使用默认配置即可完成安装。
注意:安装过程组件WinPcap是必选的,不安装WinPcap无法抓包

抓包

打开Wireshark后,在菜单捕获中选择选项,打开捕获接口窗口。在捕获接口输入选项卡,选择正确的连接;所选择接口的捕获过滤器中填写OSS网络数据过滤器,格式是host <bucket>.<endpoint>,如host bucket-name.oss-cn-hangzhou.aliyuncs.com。填写完成后点开始按钮,即开始抓包。
Wireshark抓包启动后,启动应用程序,Wireshark即可抓到应用程序发往OSS的网络包。注意: endpoint请使用http协议,不要使用https协议;因为https协议加密通信,无法抓到网络包的数据。
抓包完成后,停止抓包。可以通过菜单栏捕获中的停止停止抓包,也可以通过主工具栏中的停止捕获分组停止抓包。
使用菜单栏文件保存另存为,存抓包数据到文件。您可以把文件发给相关人员分析问题。

分析

用Wireshark打开抓包文件,界面如下:

Package capture各列的含义见下表:

列名 含义 说明
No. 网络包序列 从1开始编号
Time 包发送/接收时间点 相对时间,精确到微秒
Source 源地址 IP格式
Destination 目地地址 IP格式
Protocol 使用协议 TCP或HTTP
Length 包长度 bytes
Info 网络包信息 包括类型、状态、数据等

常用的分析方法:找到关注的通信包后,选择该行右键选择追踪流TCP流,界面弹出追踪TCP流窗口,显示数据包的详细内容。
如果只关心某一类网络包,可以使用过滤器筛选。比如只关注GET类的包,可以在应用显示过滤器中http.request.method==GET并回车。

Linux

Linux上一般使用tcpdump命令抓包,把网络包数据写到文件中,然后在Windows下用Wireshark分析。

抓包

使用tcpdump命令抓包,运行tcpdump要求当前用户是root用户,或者拥有sudo权限。执行如下的命令抓包:

sudo tcpdump tcp -i <eth> -t -s 0 -c <2000> and host <bucket>.<endpoint> -w x.pcap

命令中参数含义如下:

  • tcp:抓取特定协议的包,可选值tcp/udp/ip;
  • -i:抓取特定网卡上的包,网卡标准可以通过ifconfig命令查看;
  • -t:输出时间;
  • -s:数据包长度,默认68bytes,0表示不限制长度,可以抓取完整的数据包;
  • -c:只抓取数据包的个数;
  • - host:抓取与该主机的网络包;
  • -w:包数据写入指定文件;

更多详细及更详细说明,请使用命令man tcpdump查看。例如:

sudo tcpdump tcp -i enp3s0 -t -s 0 -c 20000 and host bucket-name.oss-cn-hangzhou.aliyuncs.com -w x.cap

应用程序运行完成,tcpdump还没有抓到指定数量的包,tcpdump不会自动退出,此时请使用ctrl+c退出抓包。然后把包数据文件x.cap下载到Windows机器上用Wireshark分析,或者发给相关人员分析。
注意:抓包的时请使用http协议,不要使用https协议

时间: 2017-03-13

OSS问题排除之抓包的相关文章

Linux系统抓包命令tcpdump使用实例

  tcpdump是linux命令行下常用的的一个抓包工具,记录一下平时常用的方式,测试机器系统是ubuntu 12.04. tcpdump的命令格式 tcpdump的参数众多,通过man tcpdump可以查看tcpdump的详细说明,这边只列一些笔者自己常用的参数: tcpdump [-i 网卡] -nnAX '表达式' 各参数说明如下: -i:interface 监听的网卡. -nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和服务. -A:以ascii的方式显示数据

Linux网络抓包分析工具Tcpdump基础篇[参数说明]

很多故障排除或者网络分析的时候都需要进行抓包分析,windows下可以通过sniffer或者wireshark,科来等工具: linux下原生已经有了一个很强大的分析工具tcpdump,今天来测试一下这个工具的一些常用方法或者参数 首先需要查看设备上有哪些设备可以抓取,通过tcpdump -D会列出可以抓取的网络设备名以及编号 1 [root@localhost ~]# tcpdump -D 2 1.eth0 3 2.usbmon1 (USB bus number 1) 4 3.usbmon2

抓包工具TCPDump介绍/应用案例/总结教程

一,Linux下抓包工具TCPDump的介绍 1. TCPDump介绍 TcpDump可以将网络中传送的数据包的"头"完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息.tcpdump就是一种免费的网络分析工具,尤其其提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具.tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行

Android 常用抓包工具介绍之Charles

原文出自[听云技术博客]:http://blog.tingyun.com/web/article/detail/516 Charles是一款抓包修改工具,相比起TcpDump,charles具有界面简单直观,易于上手,数据请求控制容易,修改简单,抓取数据的开始暂停方便等等优势!前面介绍了如何使用TcpDump抓包,下面给大家介绍一下Charles的使用. Charles抓包 Charles是一个HTTP代理服务器/HTTP监视器/反转代理服务器.它允许一个开发者查看所有连接互联网的HTTP通信.

抓包技术-关于在镜像端口抓包分析问题

问题描述 关于在镜像端口抓包分析问题 30C 实验中若是使用具备镜像端口功能的路由器,将流经实际网卡的所有数据包都镜像到另一个端口,请问可以用哪些方法捕获该镜像端口上的数据包并进行解析分析.各种方法的优缺点??急急急 解决方案 http://wenku.baidu.com/link?url=pvyFRbVOfcOBW2QrAMWA7_3HpfJarLPn46KMlko5vWStybqRRxgIyozPgs_gWC5st2YRH-4nzRioAu8n2zeZuKUi4AzHhe1Z4cbaxl6s

sniffer抓包分析实验

抓包分析 本机IP地址:192.168.2.93 FTP服务器:192.168.2.212 TCP连接(三次握手) TCP第一次握手:192.168.2.93向192.168.2.212发送请求连接(SYN=1) P第二次握手:192.168.2.212回应192.168.2.93确认连接(ACK=1,SYN=1) TCP第三次握手:192.168.2.93回应192.168.2.212(ACK=1)

对ios设备方便的抓包与查看方法

Apple在官网中给出了如何利用apple的设备进行抓包的详细说明,其中提到的使用remote virtual interface(rvi)的方法十分方便.使用rvi的功能需要使用mac系统,而手头mac系统上面并没有安装wireshark软件,为了方便地进行数据包的查看,采用了和前一篇博文中提到的android系统中抓包方法类似,也就是使用netcat(nc)软件在windows和mac系统之间建立一个tcp连接,将mac系统命令行中tcpdump的输出直接通过已经建立的tcp连接发送到win

DHCP过程抓包分析

通过抓包分析,DHCP四个包都为广播包,并且DHCP服务器为了防止地址冲突,在分配给DHCP客户端地址前,还发出arp包,如果是DHCP中继情况,则发出icmp包. 1.DHCP客户端发出DHCP Discover广播包: 二层:源MAC---客户端的mac,目标MAC---FFFF.FFFF.FFFF 三层:源 IP---0.0.0.0,      目标 IP---255.255.255.255 2.DHCP收到DHCP Discover广播包,从地址池中选出从低到高选出地址,并发出arp包:

在 Wireshark 抓包中显示 snmp mib 名

Wireshark 是最富盛名的开源抓包工具了,在电信网管开发的日常工作中是不可或缺的,经常需要抓包分析.那有没有办法可以在抓到的包中直接显示 snmp mib 的名字,而不是 OID 呢?办法当然是有的,也很简单,在官方的文档里面就有说明了.这里讲下实际配置步骤: 1. 把 mib 文件放到 "C:Program FilesWiresharksnmpmibs" 目录下. 2. 打开 "%APPDATA%Wiresharksmi_modules" 文件,在里面按原有