WireShark

目录

一、WireShark概述

1.1 WireShark简介​​​​​​​

1.2 WireShark应用

二、WireShark抓包及快速定位数据包技巧

2.1使用WireShark进行抓包

2.2WireShark的过滤器使用

三、使用WireShark对常用协议抓包并分析原理

3.1ARP协议

3.2ICMP协议分析

3.3TCP协议分析

3.4HTTP协议分析

 四、WireShark抓包解决服务器被黑上不了网的问题


一、WireShark概述

1.1 WireShark简介

WireShark是一个网络封包分析软件。其功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。WireShark使用WinPCAP作为接口,直接与网卡进行数据报文交换。

1.2 WireShark应用

  • 网络管理员用来检测网络问题。
  • 网络安全工程师用来检查资讯安全相关问题。
  • 开发者用来为新的通讯协议排错。
  • 普通使用者用来学习网络协议的相关知识。
  • 黑客用来寻找一些敏感信息。

二、WireShark抓包及快速定位数据包技巧

2.1使用WireShark进行抓包

1.启动WireShark:

 也可以在kali终端命令行键入wireshark启动。

2.选择kali的网卡,双击网卡之后就会自动进行抓包:

 3.开启混杂模式:

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

开启之前停止抓包:

捕获--选项--“在所有接口上使用混杂模式”前打上对勾--开始

2.2WireShark的过滤器使用

1.按照上一小节的要领打开混杂模式。

2.打开浏览器,访问百度。

3.访问完成后,点击停止抓包。

4.使用过滤器,根据条件筛选自己想要的数据包(在过滤器的搜索框中搜索):

  • tcp
  • arp
  • udp
  • http
  • dns

筛选条件技巧:

  • 使用“tcp.flags.标识”可以指定具有筛选出具有某个标识的数据包

  • 使用ip.src_host和ip.dst_host: 

ip.src_host表示源ip,ip.dst_host表示目的ip。连接词or表示或者(或),and表示并且(与)。

  •  使用ip.addr表示筛选出源ip或者目的ip与ip.addr相同的数据包。

注意:

  • 筛选条件大小写都可以。
  • 输入udp筛选条件后会出现多种协议,是因为这些协议都是基于udp的传输层之上的协议。

三、使用WireShark对常用协议抓包并分析原理

首先关闭混杂模式,避免一些干扰的数据包存在。

3.1ARP协议

广播请求,单播响应。

1.nmap基于ARP协议对网关进行扫描

2.停止当前抓包

 3.分析ARP请求包

4.分析ARP响应包

 

 响应包补全自己(网关)的MAC地址。此时响应包的源IP地址正是请求包的目的IP地址。

3.2ICMP协议分析

1.清空之前的数据包然后筛选ICMP的数据包

2.给百度发送一个ping包

3.分析ICMP请求包

4.分析ICMP响应包

3.3TCP协议分析

3.3.1TCP的三次握手

1.清空之前的数据包然后筛选TCP的数据包

2.XShell连接kali

3.分析TCP三次握手中的第一个数据包SYN 

  • 打开标志位的详细信息:

 4.分析TCP三次握手中的第一个数据包SYN/ACK

  •  打开标志位的详细信息:

  •  打开SEQ/ACK分析:

5.分析TCP三次握手中的第三个数据包ACK

  • 打开标志位的详细信息: 

  • 打开SEQ/ACK分析:

 6.生成图标观察数据交换的过程

  • 打开流量表

  •  流类型选TCP Flows

  •  左下角可以观察数据包对应的序列号

3.3.2TCP的四次挥手

1.XShell窗口中输入exit

2.打开流量表

注:我们在终端输入 EXIT 实际上是在我们 Kali 上执行的命令,表示我们 SSHD 的 Server 端向客户端发起关闭链接请求。

第一次挥手:服务端发送一个[FIN+ACK],表示自己没有数据要发送了,想断开连接,并进入 FIN_WAIT_1 状态。
第二次挥手:客户端收到 FIN 后,知道不会再有数据从服务端传来,发送 ACK 进行确认,确认序号 为收到序号+1(与 SYN 相同,一个 FIN 占用一个序号),客户端进入 CLOSE_WAIT 状态。
第三次挥手:客户端发送 [FIN+ACK] 给对方,表示自己没有数据要发送了,客户端进 LAST_ACK 状态,然后直接断开 TCP 会话的连接,释放相应的资源。
第四次挥手:服务户端收到了客户端的 FIN 信令后,进入 TIMED_WAIT 状态,并发送 ACK 确认消 息。服务端在 TIMED_WAIT 状态下,等待一段时间,没有数据到来,就认为对面已经收到了自己发送的 ACK 并正确关闭了进入 CLOSE 状态,自己也断开了 TCP 连接,释放所有资源。当客户端收到服务端的 ACK 回应后,会进入 CLOSE 状态并关闭本端的会话接口,释放相应资源。

3.4HTTP协议分析

我们抓取tcp协议的数据包(因为http是基于tcp的上层协议)

1.使用curl发送http请求(-I表示返回百度的头部信息)

2.分析HTTP请求、HTTP响应、TCP三次握手、TCP四次挥手的数据包

 四、WireShark抓包解决服务器被黑上不了网的问题

场景:服务器被黑上不了网,可以ping通网关,但是不能上网。

模拟场景:

修改主机TTL的值为1

TTL

  • 表示数据报文的生命周期。每经过一个路由节点,TTL值减1。当TTL值为0时,说明目标地址不可达并返回:Time to live exceeded(超过生存时间)。
  • TTL值可以用来判断数据包从起点到终点经历了多少个路由节点。
  • TTL值作用:防止数据包无限在公网中转发。
  • 默认Linux操作系统的TTL值为64。

实战

1.筛选icmp准备抓包

2.给xuegod发送一个ping请求

3.分析数据包

  • ping请求包:源ip是kali,目的ip是xuegod
  • kali没有收到xuegod的应答包,而是收到了有网关发来的数据包,提示超过生存时间,数据包被丢弃。

4.修改TTL值为2

​​​​​​​5.恢复TTL

5.MTR的使用

MTR 可以检测我们到达目标网络之间的所有网络设备的网络质量,默认系统是没有安装 MTR 工具的我们手动安装一下。

  • 23
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值