【网络安全】Wireshark过滤数据包&分析TCP三次握手(下)

简介: 【网络安全】Wireshark过滤数据包&分析TCP三次握手

3.5 常见用显示过滤需求及其对应表达式


3.5.1 数据链路层

筛选mac地址为04:f9:38:ad:13:26的数据包
eth.addr == 04:f9:38:ad:13:26
筛选源mac地址为04:f9:38:ad:13:26的数据包
eth.src == 04:f9:38:ad:13:26

打开Expression,找到Ethernet,可以参考下面的表达式

3.5.1 网络层


筛选ip地址为192.168.1.1的数据包
ip.addr == 192.168.1.1
筛选192.168.1.0网段的数据
ip contains 192.168.1
筛选192.168.1.1和192.168.1.2之间的数据包
ip.addr == 192.168.1.1 && ip.addr == 
192.168.1.2
筛选从192.168.1.1到192.168.1.2的数据包
ip.src == 192.168.1.1 && ip.dst == 
192.168.1.2

3.5.1 传输层


筛选tcp协议的数据包
tcp
筛选除tcp协议以外的数据包
!tcp
筛选端口为80的数据包
tcp.port == 80
筛选12345端口和80端口之间的数据
tcp.port == 12345 && tcp.port == 80
筛选从12345端口到80端口的数据包
tcp.srcport == 12345 && tcp.dstport == 80

3.5.1 应用层

注:
http中http.request表示请求头中的第一行(如GET index.jsp HTTP/1.1)
http.response表示响应头中的第一行(如HTTP/1.1 200 OK),其他头部都用http.header_name形式。
筛选url中包含.php的http数据包
http.request.uri contains .php
筛选内容包含username的http数据包
http contains username

URL和URI区别

URL(locater):统一资源定位符,找到路经

URI(identification):统一资源标识符

URL是URI的子集


三、wireshark分析TCP三次握手


1. 过滤阿里云服务器


设置过滤阿里云服务器的IP地址

ip.addr == 123.56.136.14

由于目前尚未与服务器有数据传输,故监听不到数据包

2. 连接阿里云TCP服务端


需要安装一个网络调试助手辅助操作


百度网盘链接:

https://pan.baidu.com/s/1EK4jgQr3jeBTipa5N5Qi0A?pwd=v4zg


协议类型选择TCP Client,远程主机地址填写阿里云服务器IP地址,端口根据服务器具体端口开发情况设置

连接后,在Wireshark会看到,出现三条数据包信息(TCP三次握手)

参考下图,方便理解

2.1 TCP第一次握手数据包


客户端发送一个TCP,标志位为SYN=1, 代表客户端请求建立连接。等待服务器收到数据包后,客户端变为监听状态。

2.2 TCP第二次握手数据包


服务器发回确认包, 标志位为 SYN,ACK。

SYN=1表示已经同步数据包

ACK=1表示确认收到

seq设为0,即服务器发出的第0个数据包

将确认序号设置为客户的seq加1,即ack=0+1=1,

2.3 TCP第三次握手数据包


客户端再次发送确认包,SYN标志位为0,ACK标志位为1。

seq=0+1=1,客户端发送的第二个包,编号为1

ack=0+1=1,回复给服务器,表示服务器发出的0数据包已经收到

至此,三次握手完成

四、wireshark分析TCP四次挥手


1. 断开阿里云服务器连接


我们用客户端主动释放连接为例,在网络调试助手中,点击断开

在Wireshark页面中发现多出四行数据包,很显然,两次释放数据包,两次确认数据包

我们接着分析


2. TCP第一次挥手数据包


客户端主动释放连接,将结束报文端标志FIN设为1,ACK设为1,表明这是一个连接释放报文段,同时对之前接收到的报文段进行确认。


seq=1告诉服务器,这是客户端发送的序号为1的数据包

ack=1告诉服务器,之前发的0号数据包已经收到


客户端进入终止等待1状态

3. TCP第二次挥手数据包


服务器进程接收到TCP连接释放报文段后,会发送一个普通的TCP确认报文段并且进入关闭等待状态。


此时TCP客户进程到服务器进程这个方向的连接就释放了,这时的TCP连接属于半关闭状态,也就是TCP客户进程已经没有数据要发送了。


但是TCP服务器进程如果还有数据需要发送,客户进程则还需要接收,这个状态可能会持续一段时间,直到TCP服务器进程将数据发送完毕。

4. TCP第三次挥手数据包


服务器传输剩余数据,当TCP服务器进程没有数据要发送后,释放连接,TCP服务器进程发送TCP连接释放报文段并进入最后确认状态,FIN=1,ACK=1

5. TCP第四次挥手数据包


客户端收到TCP连接释放报文段后,针对该报文段发送最后一次确认报文段。客户端此时处于时间等待状态,等服务器收到后关闭,客户端等待2msl后也进入关闭状态

相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
目录
相关文章
|
5月前
|
网络协议 Unix iOS开发
Wireshark 4.6.0 发布 - 网络协议分析器
Wireshark 4.6.0 发布 - 网络协议分析器
724 0
Wireshark 4.6.0 发布 - 网络协议分析器
|
12月前
|
网络协议 物联网
VB6网络通信软件上位机开发,TCP网络通信,读写数据并处理,完整源码下载
本文介绍使用VB6开发网络通信上位机客户端程序,涵盖Winsock控件的引入与使用,包括连接服务端、发送数据(如通过`Winsock1.SendData`方法)及接收数据(利用`Winsock1_DataArrival`事件)。代码实现TCP网络通信,可读写并处理16进制数据,适用于自动化和工业控制领域。提供完整源码下载,适合学习VB6网络程序开发。 下载链接:[完整源码](http://xzios.cn:86/WJGL/DownLoadDetial?Id=20)
435 12
|
负载均衡 网络协议 算法
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
这网络层就像搭积木一样,上层协议都是基于下层协议搭出来的。不管是ping(用了ICMP协议)还是tcp本质上都是基于网络层IP协议的数据包,而到了物理层,都是二进制01串,都走网卡发出去了。 如果网络环境没发生变化,目的地又一样,那按道理说他们走的网络路径应该是一样的,什么情况下会不同呢? 我们就从路由这个话题聊起吧。
467 4
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
|
网络协议 测试技术 Linux
Golang 实现轻量、快速的基于 Reactor 模式的非阻塞 TCP 网络库
gev 是一个基于 epoll 和 kqueue 实现的高性能事件循环库,适用于 Linux 和 macOS(Windows 暂不支持)。它支持多核多线程、动态扩容的 Ring Buffer 读写缓冲区、异步读写和 SO_REUSEPORT 端口重用。gev 使用少量 goroutine,监听连接并处理读写事件。性能测试显示其在不同配置下表现优异。安装命令:`go get -u github.com/Allenxuxu/gev`。
309 0
|
网络协议
TCP报文格式全解析:网络小白变高手的必读指南
本文深入解析TCP报文格式,涵盖源端口、目的端口、序号、确认序号、首部长度、标志字段、窗口大小、检验和、紧急指针及选项字段。每个字段的作用和意义详尽说明,帮助理解TCP协议如何确保可靠的数据传输,是互联网通信的基石。通过学习这些内容,读者可以更好地掌握TCP的工作原理及其在网络中的应用。
|
Web App开发 网络协议 安全
网络编程懒人入门(十六):手把手教你使用网络编程抓包神器Wireshark
Wireshark是一款开源和跨平台的抓包工具。它通过调用操作系统底层的API,直接捕获网卡上的数据包,因此捕获的数据包详细、功能强大。但Wireshark本身稍显复杂,本文将以用抓包实例,手把手带你一步步用好Wireshark,并真正理解抓到的数据包的各项含义。
5209 2
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
651 3
|
存储 安全 网络安全
网络安全法律框架:全球视角下的合规性分析
网络安全法律框架:全球视角下的合规性分析
431 1
|
运维 监控 网络协议
网络诊断必备:Ping、Traceroute、Wireshark的实用技巧详解
网络诊断必备:Ping、Traceroute、Wireshark的实用技巧详解
3722 0
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
378 17