如何使用tcpdump来捕获TCP SYN,ACK和FIN包_tcpdump syn-程序员宅基地

技术标签: tcp  网络  tcpdump  

如何使用tcpdump来捕获TCP SYN,ACK和FIN包

问题:我想要监控TCP连接活动(如,建立连接的三次握手,以及断开连接的四次握手)。要完成此事,我只需要捕获TCP控制包,如SYN,ACK或FIN标记相关的包。我怎样使用tcpdump来仅仅捕获TCP SYN,ACK和/或FYN包?

作为业界标准的捕获工具,tcpdump提供了强大而又灵活的包过滤功能。作为tcpdump基础的libpcap包捕获引擎支持标准的包过滤规则,如基于5重包头的过滤(如基于源/目的IP地址/端口和IP协议类型)。

参考下面文章:

Linux网络十分有用的两个命令ip和TcpDump

Linux下抓包工具TcpDump使用

Linux TcpDump命令详解

Linux操作系统TcpDump抓包分析详解

Tcpdump的用法及使用案例

Linux运维工程师利器:Nmap和TCPdump

tcpdump/libpcap的包过滤规则也支持更多通用分组表达式,在这些表达式中,包中的任意字节范围都可以使用关系或二进制操作符进行检查。对于字节范围表达,你可以使用以下格式:

    proto [ expr : size ]

“proto”可以是熟知的协议之一(如ip,arp,tcp,udp,icmp,ipv6),“expr”表示与指定的协议头开头相关的字节偏移量。有我们熟知的直接偏移量如tcpflags,也有取值常量如tcp-syn,tcp-ack或者tcp-fin。“size”是可选的,表示从字节偏移量开始检查的字节数量。

使用这种格式,你可以像下面这样过滤TCP SYN,ACK或FIN包。

只捕获TCP SYN包:

    # tcpdump -i <interface> "tcp[tcpflags] & (tcp-syn) != 0"

只捕获TCP ACK包:

    # tcpdump -i <interface> "tcp[tcpflags] & (tcp-ack) != 0"

只捕获TCP FIN包:

    # tcpdump -i <interface> "tcp[tcpflags] & (tcp-fin) != 0"

只捕获TCP SYN或ACK包:

    # tcpdump -r <interface> "tcp[tcpflags] & (tcp-syn|tcp-ack) != 0"
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sunbocong/article/details/81081536

智能推荐

判断是否出栈的顺序满足入栈顺序-Java_判断堆栈先入后出满足的代码-程序员宅基地

文章浏览阅读2k次。传入两个数组,一个代表入栈顺序,一个代表出站顺序,返回一个boolean值表示这个出栈顺序是否满足入栈顺序。 比如: 传入: 12345 43512 返回: false 按理来说这是一道非常简单的题,但是我还是用了至少半个小时的时候作答,就是因为一边想一边写,这是非常不好的习惯,可能一定要先把所有的思路理清,然后再开始写,至少要先写一个伪代码思路是模拟入栈出栈的过程i_判断堆栈先入后出满足的代码

jmeter性能测试面试题一【多测师_王sir】-程序员宅基地

文章浏览阅读3.1k次,点赞2次,收藏32次。第一阶段笔试题1.什么是性能测试?2.性能测试的核心原则是什么?3.性能测试的应用领域有哪些?4.压力工具的工作原理是什么?5.性能测试基本思路是什么?6.交付一个性能测试项目,请阐述你的性能测试流程7.如何抽取性能测试场景?8.前端性能测试关注哪些点?了解哪些前端性能优化方法?9.解释常用的性能指标的名称与具体含义10.性能测试类型有哪些?按顺..._jmeter性能测试面试题

MySQL入门_mysql必须用sql语言吗-程序员宅基地

文章浏览阅读491次。MySQL第一天_mysql必须用sql语言吗

unity 不再渲染局部_unity中的渲染优化技术——(减少需要处理的顶点和片元数目)...-程序员宅基地

文章浏览阅读758次。一、减少需要处理的顶点数目顶点数目同样有可能成为GPU的性能瓶颈,下面给出3个常用的顶点优化策略。1.1 优化几何体建模时尽可能减少模型中三角面片的数目,一些对于模型没有影响、或是肉眼非常难察觉到区别的顶点都要尽可能去掉。美术人员往往需要优化网格结构。很多三维软件都有相应的优化选项,可以自动优化网格结构。在unity渲染统计窗口中可以查看到渲染当前帧需要的三角面片数目和顶点数目。需要注意的是,un..._unity 渲染 排斥

Flask——sqlalchemy排序,高级查询_flasksqlalchemy排序-程序员宅基地

文章浏览阅读5k次,点赞2次,收藏2次。排序sqlalchemy中的排序,就是在查询的后面加上.order_by(依据排序的字段) ,默认排序是升序。倒序就是在排序字段的后面加上 .desc() 或者在排序字段的前面加上负号-。如果不想在查询的时候排序,可以在模型里面设置,在模型中使用 __mapper_args__={"order_by":依据排序的字段},如下图所示class Orderby(Base): __tabl..._flasksqlalchemy排序

安装Mysql 8.0.15 安装教程_安装mysql8.0.15-程序员宅基地

文章浏览阅读3.1k次,点赞3次,收藏3次。第一步:下载 打开官网:https://www.mysql.com/ 点击dowmload选项 点击community 通常我们下载社区版 拉到最下面,选择Windows,64位,压缩包(当然在这里你也可以选择MSI安装)第二步:解压、安装 点击下载的压缩包,将其解压缩到C盘根目录..._安装mysql8.0.15

随便推点

R语言学习笔记-程序员宅基地

文章浏览阅读93次。向量化的函数向量化的函数 ifelse/which/where/any/all/cumsum/cumprod/对于矩阵而言,可以使用rowSums/colSums。对于“穷举所有组合问题",可能需要combn/outer/lower.tri/expand.grid等函数。尽管apply可以显式消除循环,但它实际上是用R而不是C实现的,因此它通常并不能加速代码。然而,其他的apply函数..._r语言ls函数在调用链中返回什么?

利用QComboBox制作渐变颜色条选择功能_qcombobox item添加渐变色-程序员宅基地

文章浏览阅读882次。 这个功能总共分为三个步骤;1.获取颜色变化数组,也就是多个rgb格式的数据;2.新建QPoxmap格式数据,利用QPainter将颜色条绘制到pix上;3.将pix转化为QIcon,combobox添加icon图像;代码如下:void MainWindow::initialize_color(){ double pix_width = 256 * 2;//..._qcombobox item添加渐变色

POST方式"Content-type"是"application/x-www-form-urlencoded 的请求遇到的问题-程序员宅基地

文章浏览阅读4.7k次。Content-type的方式:application/x-javascript text/xml->xml数据 application/x-javascript->json对象 application/x-www-form-urlencoded->表单数据 application/json;charset=utf-8 -> json数据 request中发送jso..._application/x-javascript text/xml

linux异步IO浅析_25743512-程序员宅基地

文章浏览阅读1.5k次。相册广场游戏liuxuejin2009退出关注此空间kouu's homeI am thirst for magic...2011-06-18 16:46linux异步IO浅析知道异步IO已经很久了,但是直到最近,才真正用它来解决一下实际问题(在一个CPU_25743512

视频教程-JIRA插件开发实战 - 开源插件泛信息化扩展-其他-程序员宅基地

文章浏览阅读157次。JIRA插件开发实战 - 开源插件泛信息化扩展 西安交通大学硕士,系统分析师..._丁献礼 西安交通大学

navicat 导入csv未响应_navicat如何导入csv文件-程序员宅基地

文章浏览阅读1.2k次。navicat如何导入csv文件,下一步,数据库,文件,数据,栏位navicat如何导入csv文件易采站长站,站长之家为您整理了navicat如何导入csv文件的相关内容。navicat如何导入csv文件?1、创建一个数据库,右键点击表,选择导入向导。2、选择导入的数据文件格式,下一步。3、选择你的.csv文件,注意编码格式,要与你的文件编码格式一样,不然出现乱码,下一步。相关推荐:《Navica..._navicat导入csv仍然没有

推荐文章

热门文章

相关标签