tcpdump 常用命令

简介: 【10月更文挑战第31天】本文介绍了工作中常用的`tcpdump`命令,通过实例展示了如何使用`tcpdump 'port 10000' -i eth0 -S`监控TCP连接的三次握手和四次挥手过程。具体包括服务端和客户端的交互细节,以及每个步骤的详细解释。

总结一下工作中常用到的tcpdump抓包命令

1、tcpdump 'port 10000' -i eth0 -S

  说明:利用tcpdump监控tcp连接三次握手和关闭四次握手

先在192.168.11.220上运行服务端程序,然后在192.168.11.223上运行客户端程序。同时在两个服务器上以root用户执行tcpdump工具,监控10000端口

1)建立连接时服务端220的监控内容如下:
image.png
下面结合上图和下面三次握手示意图,解释握手细节:
第一行显示客户端192.168.11.223先发送一个seq,1925249825给服务端,对应下面三次握手示意图中的SYN J

第二行显示服务端192.168.11.220(npsc-220)确认第一行的请求:seq 1925249825, ack的值为第一行的seq值+1,即(ack 1925249826),同时发送一个请求序列号821610649。对应下图三次握手中的(SYN K, ACK J+1)

第三行显示客户端192.168.11.223确认服务端的请求序号(第二行中的seq 821610649),对应下图tcp三路握手中的 (ACK K+1)image.png
由于代码中服务端建立连接后直接给客户端发送本地时间的数据给客户端,所以上面第一行中的信息可以看出由npsc-220(服务端)发送数据给客户端192.168.11.223,请求序号为:821610650:821610676 共26个字节,
第二行表示客户端223收到数据后给服务端的发送了一个ack的确认信息

由于我的程序是由服务端主动关闭连接,所以和下图的四次握手示意图稍微有些差别

第一行显示:服务端(npsc-220)主动发送了一个FIN给客户端192.168.11.223,对应下图的FIN M ,其中M的值为821610676

第二行显示:客户端192.168.11.223确认了服务端的821610676(即下图的ACK M+1, 即ack 821610677),并发送了一个FIN给服务端,对应下图的FIN N

第三行显示:服务端(npsc-220)确认了客户端的FIN ack 19252429827,即下图的ACK N+1 ,

下图是断开连接的四次握手示意图

目录
相关文章
|
缓存 Go C语言
使用 Python 的 ctypes 调用 C 的动态库
使用 Python 的 ctypes 调用 C 的动态库
1109 9
使用 Python 的 ctypes 调用 C 的动态库
|
Web App开发 网络协议 数据可视化
tcpdump 和 wireshark 抓包工具 ,介绍、安装、命令使用。 详解三次握手、四次挥手。两个结合使用,会更好分析报文
这篇文章详细介绍了网络抓包工具tcpdump和Wireshark的使用,包括安装、命令选项、过滤器语法,以及如何通过分析TCP的三次握手和四次挥手来理解网络通信细节。
4689 1
|
负载均衡 Ubuntu 应用服务中间件
|
安全 算法 应用服务中间件
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】
SSL/TLS协议信息泄露漏洞(CVE-2016-2183)【原理扫描】 【可验证】 详细描述TLS是安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性。
13433 2
|
8月前
|
Ubuntu Linux 测试技术
Linux系统离线安装Docker完整指南
本文详细介绍在Ubuntu 24等Linux系统中离线安装Docker的完整流程,适用于内网隔离环境。涵盖安装包下载、`docker.service`配置、安装与卸载脚本编写、权限设置、镜像测试及用户组配置,并包含docker-compose的离线部署方法,助力高效完成生产环境搭建。
9837 4
Linux系统离线安装Docker完整指南
|
存储 安全 测试技术
诊断会话层DSL
诊断会话层DSL.
1430 0
|
机器学习/深度学习 Java 数据挖掘
Weka简单介绍与最新详细简单安装以及环境变量配置
Weka简单介绍与最新详细简单安装以及环境变量配置
2819 0
Weka简单介绍与最新详细简单安装以及环境变量配置
|
机器学习/深度学习 并行计算 测试技术
MLX vs MPS vs CUDA:苹果新机器学习框架的基准测试
如果你是一个Mac用户和一个深度学习爱好者,你可能希望在某些时候Mac可以处理一些重型模型。苹果刚刚发布了MLX,一个在苹果芯片上高效运行机器学习模型的框架。
1202 1
|
网络安全 网络架构 数据安全/隐私保护
|
JSON Kubernetes 数据格式
k8s集群namespace一直处于Terminating状态不释放解决办法
k8s集群namespace一直处于Terminating状态不释放解决办法
1586 0

热门文章

最新文章