Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包

  • Wireshark下载
  • Wireshark抓包即快速定位数据包技巧
    • 常见协议包
    • 抓包模式介绍:混杂模式/普通模式
    • 关闭混杂模式
    • 过滤器使用
      • 根据源IP地址筛选
  • 常用协议数据包分析
    • ARP协议
    • ICMP协议
    • TCP协议
      • TCP报文分析
      • TCP三次握手建立连接
      • TCP四次挥手断开连接
        • 三次挥手报文
        • 四次挥手报文
        • 总结
      • 基于TCP/UDP协议的应用层协议有哪些?
    • HTTP协议

Wireshark下载

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第1张图片

Wireshark相关链接:

官网:https://www.wireshark.org/
下载:https://www.wireshark.org/download.html

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第2张图片
下载对应版本即可,安装就默认安装即可(不要改安装位置),否则可能不会自动安装插件,导致识别不了网卡信息。

Wireshark抓包即快速定位数据包技巧

常见协议包

常见的有以下协议类型:

  • ARP协议
  • ICMP协议
  • TCP协议
  • UDP协议
  • DNS协议
  • HTTP协议

抓包模式介绍:混杂模式/普通模式

  • 混杂模式概述:混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址。默认就是混杂模式。
  • 普通模式概述:普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。

一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用,默认是混杂模式。

关闭混杂模式

先随便选中一个连接,不选后续修改捕获选项的开始按键是灰色的,我连的是无线,所以监控WLAN
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第3张图片

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第4张图片
然后点击捕获,再点击选项
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第5张图片
变更之后,点击开始即可
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第6张图片

过滤器使用

列属性从左到右表示

  • No:序号
  • Time:时间
  • Source:源IP地址
  • Destination:目标IP地址
  • Protocol:协议类型
  • Length:数据包长度
  • Info:数据包的描述

从抓取的很多包中筛选出你想要的,不区分大小写,一般用小写,
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第7张图片
筛选TCP
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第8张图片
筛选UDP,可以看到很多都是协议,原因就是这些都是基于UDP的传输层之上的协议
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第9张图片
以DNS为例,客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不经过三次握手,这样DNS服务器负载更低,响应更快。理论上说,客户端也可以向DNS服务器查询时使用TCP,但事实上,很多DNS服务器进行配置的时候,仅支持UDP查询包。

根据源IP地址筛选

ip.src_host:表示源IP地址
ip.dst_host:表示目标IP地址
ip.addr:不区分源IP地址还是目标IP地址,二者中有一个包含就会筛选出来
or:或者
and:并且
==:数值相等

# 源IP地址192.168.2.7并且目标IP地址101.80.48.159
ip.src_host == 192.168.2.7 and ip.dst_host == 101.80.48.159

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第10张图片

常用协议数据包分析

协议分析的时候关闭混杂模式,避免一些干扰的数据包
着重看最后的协议数据包选项

ARP协议

ARP协议: 地址解析协议(Address Resolution Protocol) ,是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,它在IPv4中极其重要。ARP是通过网络地址来定位MAC地址。

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第11张图片
请求包:
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第12张图片
请求数据包中,目标MAC地址都是00表示不知道目标MAC地址,只知道目标IP地址

应答包:
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第13张图片
对应的响应数据包,可以看到应答包补全了自己的MAC地址,而且应答包的源IP地址和目标地址与请求的地址是相反的,因此根据源IP地址和目标IP地址可以判断请求和响应数据包哪个是一对。

两个数据包的请求过程:广播请求,单播回应

# 192.168.2.1 广播:谁有192.168.2.7的MAC地址?
Who has 192.168.2.7? Tell 192.168.2.1

# 192.168.2.7 应答:192.168.2.7的MAC地址50:5b:c2:c3:25:d9
192.168.2.7 is at 50:5b:c2:c3:25:d9

ICMP协议

ICMP协议: Internet控制报文协议(Internet Control Message Protocol)。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

简单的触发ICMP方式,ping 包
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第14张图片
可以看到,一共是4对8个,一问一答的形式。
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第15张图片
请求包:
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第16张图片
应答包:
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第17张图片
两个数据包的工作过程:
本机发送一个ICMP Echo Request的包
接受方返回一个ICMP Echo Reply,包含了接收到数据拷贝和一些其他指令

TCP协议

TCP协议: 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,为了在不可靠的互联网络上提供可靠的端到端字节流而专门设计的一个传输协议(可靠原因:三次握手四次挥手),也是使用最广泛的传输控制协议。

不了解三次握手四次挥手(三次挥手)的可以先看下:
TCP和UDP、TCP三次握手、TCP为什么要进行三次握手不是两次、TCP四次挥手、TCP和UDP的区别、TCP抓包分析、TCP什么时候三次挥手

TCP报文分析

物理机想和client建立连接
过滤器选择TCP、ip.addr选择xhell连接的ip地址即可
在这里插入图片描述

TCP三次握手建立连接

三次握手就是三次确认的过程

第一次握手,物理机发送SYN数据包给client

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第18张图片

第一次握手的Flags标志位如下

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第19张图片

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第20张图片

第二次握手,client同意连接,client发送SYN+ACK给物理机

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第21张图片

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第22张图片

第三次握手,物理机发送ACK确认到client

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第23张图片

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第24张图片

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第25张图片

前面三次握手是TCP建立连接的过程,后面就是相互通信,这个时候seq会根据数据包的大小改变
可以查看图表,通过菜单:统计>流量图,选择对应类型

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第26张图片

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第27张图片

TCP四次挥手断开连接

三次挥手报文

使用关闭按钮关闭终端
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第28张图片
从图上报文看,可以发现少了一次挥手,少一次ACK确认,变成了三次挥手,这是因为TCP 延迟确认机制。

当被动关闭方在 TCP 挥手过程中,如果「没有数据要发送」,同时「没有开启 TCP_QUICKACK(默认情况就是没有开启,没有开启 TCP_QUICKACK,等于就是在使用 TCP 延迟确认机制)」,那么第二和第三次挥手就会合并传输,这样就出现了三次挥手。

四次挥手报文

本机打开终端(监控的是WLAN),使用curl发送http请求

# -I:仅返回头部信息
curl -I baidu.com

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第29张图片

在这里插入图片描述

总结

四次挥手,断开连接

1.服务端FIN :Seq = a , Ack = b #我想断开连接
2.客户端ACK:Seq = b, Ack = a+1 #收到,断开吧
3.客户端FIN :Seq = b, Ack = a+1 #我也想断开连接
4.服务端ACK:Seq = a+1, Ack = b+1 #收到,断开吧

三次挥手,断开连接

1.客户端FIN :Seq = a , Ack = b #我想断开连接
2.服务端FIN :Seq = b, Ack = a+1 #收到,断开吧。我也想断开连接
3.客户端ACK:Seq = a+1, Ack = b+1 #收到,断开吧

基于TCP/UDP协议的应用层协议有哪些?

TCP/UDP都是传输层的协议 (上面是应用层,下面是网络层IP层)

1.基于TCP的应用层协议有:HTTP、FTP、SMTP、TELNET、SSH
协议 全称 默认端口
HTTP ( 用的最多) HyperText Transfer Protocol(超文本传输协议) 80
FTP File Transfer Protocol (文件传输协议) 20用于传输数据,21用于传输控制信息
SMTP Simple Mail Transfer Protocol (简单邮件传输协议) 25
TELNET Teletype over the Network (网络电传) 23
SSH Secure Shell 22
2.基于UDP的应用层协议:DNS、TFTP(简单文件传输协议)、SNMP:简单网络管理协议
协议 全称 默认端口
DNS Domain Name Service (域名服务) 53
TFTP Trivial File Transfer Protocol (简单文件传输协议) 69
SNMP Simple Network Management Protocol (简单网络管理协议) 通过UDP端口161接收,只有Trap信息采用UDP端口162。
NTP Network Time Protocol (网络时间协议) 123
RADIUS是Remote Authentication Dial In User Service的简称,即远程验证拨入用户服务.
RADIUS协议的认证端口号为1812(1645端口由于冲突已经不再使用),计费端口号为1813或(1646端口由于冲突已经
不再使用).

HTTP协议

HTTP是TCP的上层协议,因此过滤时用TCP也可以,用HTTP过滤分为会更小

本机打开终端(监控的是WLAN),使用curl发送http请求

# -I:仅返回头部信息
curl -I baidu.com

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第30张图片
用本机终端curl的,因此,发起的源地址为IPv4地址
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第31张图片
抓包
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第32张图片

只过滤curl这个相关的,手动输入过滤器过滤信息、或者选中一条,右键跟踪流,执行对应流的跟踪,都可以整理出这个请求的完整跟踪会话。
Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第33张图片

Wireshark下载、Wireshark使用、Wireshark抓包、ARP抓包、ICMP抓包、TCP抓包、HTTP抓包_第34张图片
可以看到这是一次完整的三次挥手,建立连接,发送数据,四次挥手,断开连接的一个过程。

你可能感兴趣的:(网络/抓包,wireshark,网络,网络协议)