欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

网络工具Wireshark的简单使用

程序员文章站 2022-03-16 17:02:46
1、概念:Wireshark是网络包分析工具 2、作用: 1)       是在接口实时捕捉网络包,并详细显示包的详细协议信息。...

1、概念:Wireshark是网络包分析工具

2、作用:

1)       是在接口实时捕捉网络包,并详细显示包的详细协议信息。Wireshark可以捕捉多种网络接口类型的包,哪怕是无线局域网接口。
2)       可以打开多种网络分析软件捕捉的包,可以支持多种协议的解码。我们可以用它来检测网络安全隐患、解决网络问题,也可以用它来学习网络协议、测试协议的执行情况。

3、特点:

     不会处理网络事务,它仅仅是“测量”(监视)网络。
     不会发送网络包或其它交互性的事情。

4、安装:

[root@attack ~]# yum  install  wireshark-*  
[root@attack ~]# wireshark
图1、wireshark启动后的界面
网络工具Wireshark的简单使用
 
 

5、监听ARP协议并分析数据包

 
图1、选中“Filter”
网络工具Wireshark的简单使用
图2、选中“Expression”
网络工具Wireshark的简单使用
图3、选中“ARP”协议 | “确定”
网络工具Wireshark的简单使用
图4、填写过滤规则名称 | “确定”
网络工具Wireshark的简单使用
图5、选中图标
网络工具Wireshark的简单使用
图6、选中“eth1”接口的“Start”
网络工具Wireshark的简单使用
图7、捕获ARP数据包
网络工具Wireshark的简单使用
注释:第一列   捕获数据的编号
      第二列   捕获数据的时间,从开始捕获算为0.000秒
      第三列   是源地址
      第四列   是目的地址
      第五列   是协议名称
      第六列   是数据包信息
图8、停止监听
网络工具Wireshark的简单使用
图9、Wireshark整体布局
网络工具Wireshark的简单使用注释:Wireshark 窗口布局从上到下
1) 菜单栏
2) 数据帧列表
3) 数据帧描述信息
4) 数据帧里的数据
图11、Frame(帧)相关信息
网络工具Wireshark的简单使用
注释:
帧的编号:Frame  Number  1269(捕获时的编号)
帧的大小:Frame  Length   60字节
捕获的大小:Capture Length  60字节
帧被捕获的时间:Arrival  Time :2013.4.2  9:43
帧装载的协议:ARP
图12、Ethernet相关信息
网络工具Wireshark的简单使用
注释:
Destination   目的MAC地址:
Source       源MAC地址
Type:ARP   帧中封装的协议类型
Trailer       帧中填充的数据,为了保证帧最少有64个字节。
特别要注意的是:Destination MAC地址只有在局域网中才是真正目标主机的MAC地址。当目标主机和来源主机不再同一个网段的话,Destination MAC表示网关的MAC地址。
图14、地址解析协议
网络工具Wireshark的简单使用
注释:
Hardware  type: 硬件类型(以太网)
Protocol   type: 协议类型 (IP)
Hardware  size: 硬件大小(6)
Protocol   size: 协议大小(4)
Sender MAC address: 发送方的MAC地址
Sender IP  address :发送发的IP地址
Target MAC address:接收方的MAC地址
Target IP address :  接收方的IP地址
图15、数据帧成对出现
网络工具Wireshark的简单使用
网络工具Wireshark的简单使用
注释:由捕获数据帧的时间可知,ARP数据帧成对出现。
一个是 :repuest(请求)
另一个 :reply  (应答)
需要注意的是:ARP所有的请求数据帧的目标MAC地址都是:00:00:00:00:00:00

 

6、监听并分析PING数据包

注意:PING使用的ICMP协议。
6.1 ICMP概述:
全称 Internet Control Message Protocol,中文名为因特网控制报文协议。工作在OSI的网络层,向暑假通讯中的源主机报告错误。
6.2 ICMP作用:
网络本身是不可靠的,在网络传输过程中,可能会发生许多突发事件并导致数据传输失败。网络层的IP协议时一个无连接的协议,它不会处理网络层传输中的估值,而位于网络层的ICMP协议却正好弥补了IP协议的缺陷,它使用IP协议进行信息传递,向数据包中的源端节点提供发生在网络层的错误信息反馈
6.3 ICMP的报头结构:
网络工具Wireshark的简单使用
6.4 ICMP协议提供的报文类型(由类型和代码共同决定):
类型

 
代码

 
描述

 
查询

 
差错

 
0

 
0

 
回送应答(ping)应答

 


 


 
3

 


 
目的不可达:

 


 


 


 
0

 
网络不可达

 


 


 


 
1

 
主机不可达

 


 


 


 
2

 
协议不可达

 


 


 


 
3

 
端口不可达

 


 


 


 
4

 
需要进行分片但设置了不分片位

 


 


 


 
5

 
源站选路失败

 


 


 


 
6

 
目的网络不认识

 


 


 


 
7

 
目的主机不认识

 


 


 


 
8

 
源主机被隔离(作废不用)

 


 


 


 
9

 
目的网络被强制禁止

 


 


 


 
10

 
目的主机被强行禁止

 


 


 


 
11

 
由于服务类型TOS,网络不可达

 


 


 


 
12

 
由于服务类型TOS,主机不可达

 


 


 


 
13

 
由于过滤,通信被强制禁止

 


 


 


 
14

 
主机越权

 


 


 


 
15

 
优先权中止生效

 


 


 
4

 
0

 
远端被关闭(基本流控制)

 


 


 
5

 


 
重定向

 


 


 


 
0

 
对网络重定向

 


 


 


 
1

 
对主机重定向

 


 


 


 
2

 
对服务类型和网络重定向

 


 


 


 
3

 
对服务类型和主机重定向

 


 


 
8

 
0

 
请求回送(Ping请求)

 


 


 
9

 
0

 
路由器通告

 


 


 
10

 
0

 
路由器请求

 


 


 
11

 


 
超时:

 


 


 


 
0

 
传输期间TTL为0

 


 


 


 
1

 
在数据报组装期间TTL为0

 


 


 
12

 


 
参数问题:

 


 


 


 
0

 
坏的IP报头(包括各种差错)

 


 


 


 
1

 
缺少必须的选项

 


 


 
13

 
0

 
时间戳请求

 


 


 
14

 
0

 
时间戳应答

 


 


 
15

 
0

 
信息请求(作废不用)

 


 


 
16

 
0

 
信息应答(作废不用)

 


 


 
17

 
0

 
地址屏蔽码请求

 


 


 
18

 
0

 
地址屏蔽码应答

 


 


 
 
6.5监听ping数据包并进行分析
图1、选中“Filter(过滤)”图标
网络工具Wireshark的简单使用
图2、删除“arp”字符串 | 选中“Expression”
网络工具Wireshark的简单使用
图3、选中“ICMP”协议 | “确定”
网络工具Wireshark的简单使用
图4、命名过滤规则 | “确定”
网络工具Wireshark的简单使用
图5、选中图标列出接口
网络工具Wireshark的简单使用
图6、选中“eth1”接口的“Start”图标
网络工具Wireshark的简单使用
图7、选中“Continue without  Saving(不保持退出)”
网络工具Wireshark的简单使用
注意:之前捕获的数据根据需要选择是否报存
图8、发送一个PING包
网络工具Wireshark的简单使用
图9、捕获了一次PING的数据帧
网络工具Wireshark的简单使用
有上图可知:ping操作一次产生一对数据帧。
图10、Frame(帧)状态
网络工具Wireshark的简单使用
注释:
Arrival Time :捕获时间 2013.4.2  11:40:03
Frame Number:帧号    2458
Frame Length:帧长度   98字节
Capture length:捕获长度  98字节
Frame is marked:帧标记
Protocols in frame:帧装载协议 ICMP
图11、Ethernet状态信息
网络工具Wireshark的简单使用
注释:
Destination:目标MAC地址
Source :来源MAC地址
协议类型:IP
图12、IP协议状态信息
网络工具Wireshark的简单使用
注释:
Version  :使用版本 IPv4
Header length :头部长度20字节
Flags :标记位
Time to live :TTL最大跳数 64
Protocol : 协议 ICMP
Header checksun:数据帧校验
Source :源地址(发起PING的主机)
Destination :目的地址(PING的目标主机)
图13、ICMP状态信息
网络工具Wireshark的简单使用
Type : 类型 8  PING 请求
Code : 代码0
Checksun :校验  正常
Identifier :标示符
Sequence number :序号  1
图14、Data状态信息
网络工具Wireshark的简单使用
图15、选中“reply”数据帧
网络工具Wireshark的简单使用
注意:应答包和请求包大体相似,主要区别是源地址和目标地址互换了位置
 
 
 

7、TCP协议分析:

 
7.1 TCP概念
TCP,全称Transfer Control Protocol,中文名为传输控制协议,它工作在OSI的传输层,提供面向连接的可靠传输服务。
TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于点对点的通讯。
TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。TCP还采用一种称为“滑动窗口”的方式进行流量控制,所谓窗口实际表示接收能力,用以限制发送方的发送速度。
 
7.2 TCP报头的结构
网络工具Wireshark的简单使用
 
7.3 TCP标志位
SYN(synchronous建立联机)
ACK(acknowledgement 确认)
PSH(push传送)
FIN(finish结束)
RST(reset重置)
URG(urgent紧急)
Sequence number(顺序号码)
Acknowledge number(确认号码)
 
7.3抓取TCP数据帧(以http协议为例)
图1、启动wireshark抓包工具
[root@attack ~]# wireshark
图2、选中“Filter(过滤)”
网络工具Wireshark的简单使用
图3、选中“TCP or UDP port is 80(HTTP)”| “确定”
网络工具Wireshark的简单使用
图4、选中第一个图标(列出可监听接口)
网络工具Wireshark的简单使用
图5、选中“eth1”网卡的“Start”图标
注意:本示例中只有一块网卡,名称为eth1
网络工具Wireshark的简单使用
图6、处于开始监听状态
网络工具Wireshark的简单使用
图7、使用HTTP协议访问web网站
[root@attack ~]# elinks  www.baidu.com
网络工具Wireshark的简单使用
7.4分析TCP协议的三次握手(以http协议为例)
First :
第一次握手数据:(第一帧)
网络工具Wireshark的简单使用
注释:
第一次握手的标志位:
我们可以看到标志位里面只有个同步位,也就是在做请求(SYN)
主机192.168.1.30:41886发送 标志位Syn=1 ,随机产生 Seq number =0 的数据包到服务器220.181.111.147:80(服务器由标志位Syn=1知道192.168.1.30要求与其建立联机)
第一次握手图示:
网络工具Wireshark的简单使用
Second :
第二次握手数据:(第二帧)
网络工具Wireshark的简单使用
注释:
第二次握手的标志位
我们可以看到标志位里面有个确认位和同步位,也就是在做应答(SYN + ACK)
远程web服务器220.181.111.147:80收到请求后确认联机信息,向主机192.168.1.30:41886发送ack number=1,标志位Ack=1,标志位Syn=1,随机产生Seq number=0的数据包。
第二次握手图示:
网络工具Wireshark的简单使用
Third :
第三次握手数据(第三帧):
网络工具Wireshark的简单使用
注释:
第三次握手的标志位
我们可以看到标志位里面只有个确认位,也就是再做再次确认(ACK)
主机192.168.1.30:41886收到后检查Ack number是否正确(Ack number = 第一次seq number(0)+1);再检查标志位Ack是否为1。 如果验证无误,主机192.168.1.30:41886会再发送Ack number  = 第一次seq number(0)+1,标志位Ack=1 给远端web服务器。
远端web服务器220.181.111.147:80收到后确认第一次和第三次的Seq number的差值是否为1且标志位ack=1,则建立联机成功
第三次握手图示:
网络工具Wireshark的简单使用
总结:三次握手就是 请求----》应答-------》再次确认  的过程,完成三次握手,客户端与服务器开端传送数据