3.1 WireShark简介和抓包原理及过程
3.1.1 WireShark简介
WireShark是一个网络封包分析软件,网络封包分析软件的功能是提取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
3.1.2 WireShark快速分析数据包技巧
- 确定WS的物理位置,如果没有一个正确的位置,启动WS会花费很长是时间捕捉与自己无关的信息
- 选择捕获接口,一般都是选择连接到internet的网络接口
- 使用捕获过滤器,可以避免产生过大的捕获数据,这样用户在分析数据时不会被其他干扰。
- 使用显示过滤器
- 使用着色规则
- 构建图标,可以明显的看见网络中数据的变化情况。
- 重组数据,可以重组一个会话中,不同数据包的信息,或者是重组一个完整的图片或者文件。
3.2 WireShark抓包及快速定位数据包技巧
3.2.1 常见协议包
ARP ICMP TCP UDP DNS HTTP
3.2.2 混杂模式介绍
- 混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址。普通模式下网卡只接收发给本机的包,传递给上层程序,多在网络监听工具上使用。
- 关闭和开启混杂模式(第一次使用WK是混杂模式)
点击捕获-把下面的勾关掉,就是关闭混杂模式
3.2.3 过滤器的使用
src host 192.168.1.14 是捕获源ip发出去的数据包
dst host 192.168.1.14 是捕获所有发给目标主机的数据包
port 80 只捕获80端口的
如何筛选指定的源地址或者目标地址
ip.src_host == 192.168.1.53 or ip.dst_host == 192.168.1.1
ip.addr == 192.168.1.53 //筛选所有和1.53有关的数据包
3.3 使用WireShark对常用协议抓包及分析
3.3.1 ARP协议
- 地址解析协议,是一个通过解析网络层地址来找找寻数据链路层地址的网络传输协议。ARP是通过网络地址来定位MAC地址。
Broadcast 广播包
问 谁有192.168.1.1?请告诉192.168.1.53
然后 会给回应并提供物理地址
四个F表示广播包,也就是请求包
表示网关回给192.168.1.53 得到目的地址
3.3.2 ICMP协议
reply in 9 响应包在No.9
响应包和请求包 这四项数据是一样的
3.3.3 TCP 协议
可以通过数据包来清晰的看见三次握手
流量图!
6340请求连接22端口 三次握手后,开始进行数据传输
FIN表示断开连接,进行四次挥手。
3.3.4 HTTP 协议
HTTP协议是基于TCP的上层协议,过滤TCP的数据包会包含HTTP协议的数据包
curl -I baidu.com //得到百度的头部信息
前三个包是三次握手 最后一个是RST断开连接 之前的是四次挥手。
表示向百度发送一个获取头部信息的请求。
追踪HTTP流
上面是发送的请求 下面是百度回复的相应。
3.4 使用WireShark抓包解决服务器被黑上不了网
模拟场景:服务器被黑了,可以ping通网关,但是不能上网. 修改主机的TTL值 为1
TTL值没经过一个网络设备,就会减1 ,当TTL值才为0时,说明目标地址不能达到,并且返回: Time to live exceeded。
作用: 防止数据包无限制的在公网中转发 !
可以ping通网关 但是不能ping通外网。
TTL 为 1 时
网关给回包
当TTL 为2时候
说明这个数据包在网络中已经达到了下一个网络设备才被丢弃,由此可以判断出我们的运营商网关地址为112.103.140.1,但是并没有达到目标主机
TTL值为52 说明到达xuegod.cn需要经过64-52=12 个网络设备。
mtr