Wireshark分析数据包

Wireshark分析数据包

一.协议

TCP/IP协议栈:应用层,运输层,网络层,数据链路层
1.应用层协议
文件传输类:HTTP、FTP、TFTP;
远程登录类:Telnet;
电子邮件类:SMTP;
网络管理类:SNMP;
域名解析类:DNS;
2.运输层协议
SSL:运输层数据加密协议
Tcp:传输控制协议,可靠传输(三次握手,四次断开)
Udp:广播式数据传输,不可靠传输

3.网络层协议
ICMP:Internet控制报文协议,它是TCP/IP协议族的一个子协议,
用于在IP主机、路由器之间传递控制消息。控制消息是指
网络通不 通、主机是否可达、路由是否可用等网络本身的
消息。这些控制消息虽然并不传输用户数据,但是对于用户
数据的传递起着重要的作用。
IGMP:Internet 组管理协议,该协议运行在主机和组播路由器之
间。
IP:用于将多个包交换网络连接起来的,它在源地址和目的地址之
间传送一种称之为数据包的东西,它还提供对数据大小的重新
组装功能,以适应不同网络对包大小的要求。

4.链路层协议
PPP:点对点协议,为两个对等节点之间的 IP 流量传输提供一种
封装协议。

5.TCP/IP协议栈图

Wireshark分析数据包_第1张图片

TCP协议部分的详细内容可参考:http://www.cnblogs.com/ImBit/p/5513401.html

二.Wireshark的使用

1.Wireshark界面介绍

可参考:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html

Wireshark里封包列表中的time显示,View->Time Display Format,可以设置时间的显示格式。

2.显示过滤器的使用

过滤器支持的运算符如下:
Wireshark分析数据包_第2张图片

(1).根据协议过滤:
关键字:DNS,HTTP,TCP,UDP
(2).根据IP过滤
源IP: ip.src == 10.41.191.72 (ip.src eq 10.41.191.72)
目标IP: ip.dst == 10.41.191.72 ( ip.dst eq 10.41.191.72)
不区分源及目标的IP: ip.addr == 10.41.191.72
(ip.addr eq 10.41.191.72)
(3)组合过滤
使用逻辑运算符,组合各个关键字进行过滤,比如:
DNS or (ip.addr eq 10.41.191.72 and ip.addr eq 180.149.132.47) and
(tcp.port eq 48358 and tcp.port eq 80)
这里的关键字有非常多,可以查看:Expression选项中的列表
Wireshark分析数据包_第3张图片

(4)过滤快捷键
在封包列表中,光标放在具体IP上,右键,选择Apply as Filter或者Prepare a Filter,然后选择逻辑运算符,此时会自动把光标所在的IP转换成过滤语句显示在过滤器中。
Wireshark分析数据包_第4张图片
(5)过滤具体封包的整个流程
参见上图,可以选定某条封包,右键,选择:Follw TCP Stream/Follw UDP Stream/Follw SSL Stream,这样就会列出当前封包的具体流程(TCP/UDP/SSL)。

(6)普通的关键字查找
Ctrl+F: 普通查找

3.序列号与确认号

可参考:http://blog.csdn.net/liubaoxyz/article/details/49949439

可参考:http://www.xianren.org/net/wireshark-q.html
http://blog.csdn.net/faithc/article/details/52832617?locationNum=1&fps=1

四.Debug思路

手机

1.确认网络连接情况。(如果使用的移动数据,检查cs,ps的连接情况,pdp链路是否正常。以上都正常情况下再去看netlog)
2.确认时间点与对应的IP。(main_log中搜索socket,查找对应时间点对应的IP。如果都找不到,通过DNS查找对应网站的IP:dns.qry.name contains qq)
3.根据IP或者时间点去查看对应的TCP流。(根据序列号和确认号确定异常点,再依据异常点去看收发包情况)

五.进阶

http://blog.jobbole.com/71427/

你可能感兴趣的:(Wireshark,tcp)