转载请注明出处:

TCPDump是一个功能强大的网络抓包工具,它能够在命令行界面捕获、分析和解析网络数据包。下面是TCPDump命令的使用总结,包括使用语法、常用参数说明等:

使用语法:tcpdump [options] [expression]

参数说明:

  • -i <interface>:指定要监听的网络接口。

  • -n:禁用主机名解析,只显示IP地址。

  • -l:使输出行立即被缓冲并且刷新到标准输出,而不是按照缓冲区大小进行缓冲。

  • -c <count>:设置捕获数据包的数量限制。

  • -s <snaplen>:设置每个数据包的最大捕获长度。

  • -w <filename>:将捕获的数据包写入文件。

  • expression:可以是过滤器表达式,用于选择要捕获的数据包。

常见用法示例:

  • tcpdump -i eth0:捕获并显示来自eth0接口的所有网络数据包。

  • tcpdump -n -l -c 10:捕获并输出前10个数据包的IP地址(禁用主机名解析)。

  • tcpdump -i any tcp port 80:捕获并显示所有通过任意接口的源或目的端口为80的TCP数据包。

一些常用过滤器表达式:

  • host <ip>:捕获指定主机的数据包。

  • net <network>:捕获指定网络的数据包。

  • port <port>:捕获指定端口的数据包。

  • src <ip>:捕获源IP地址为指定IP的数据包。

  • dst <ip>:捕获目的IP地址为指定IP的数据包。

高级选项:

  • -A:以ASCII形式显示捕获到的数据包内容。

  • -X:以十六进制和ASCII组合形式显示捕获到的数据包内容。

  • -vvv:显示更详细的输出信息,如协议解析和标志位。

使用示例:

tcpdump -n -l -i any  tcp  port 24009

响应示例:

这段抓包响应显示了网络流量捕获结果。下面是对每个捕获数据包的分析:

  第一个数据包:

  • 时间戳:13:30:46.092550

  • 源IP地址和端口:192.168.118.11.62964

  • 目标IP地址和端口:192.168.118.32.24009

  • 标志(Flags):[S],表示这是一个建立连接的请求数据包

  • 序列号(seq):507702909

  • 窗口大小(win):64512

  • 选项:mss 1460, nop, wscale 3, sackOK, TS val 775689058 ecr 0

  • 长度:0

  第二个数据包:

  • 时间戳:13:30:46.092594

  • 源IP地址和端口:192.168.118.32.24009

  • 目标IP地址和端口:192.168.118.11.62964

  • 标志(Flags):[R.],表示连接被重置(reset)

  • 序列号(seq):0

  • 确认序列号(ack):507702910

  • 窗口大小(win):0

  • 长度:0

TCP协议中的标志(Flags)字段用于在数据包中传递特定的控制信息。

  下面是常见的TCP标志及其说明:

  • SYN (Synchronize):用于建立连接的请求标志。当一个主机尝试与另一个主机建立连接时,它会发送一个带有SYN标志的数据包。

  • ACK (Acknowledgment):确认标志。表示收到了对方发送的数据包,并发送了确认响应。

  • RST (Reset):重置标志。用于终止连接或表示连接出现错误。当一方收到无效的、不可接受的数据包时,可以发送RST标志来告知对方重置连接。

  • FIN (Finish):结束标志。用于终止连接的请求。当发送方发送了所有数据后,会发送一个带有FIN标志的数据包,请求关闭连接。

  • PSH (Push):推送标志。指示接收方应该立即将数据交给应用层,而不是等待缓冲区填满或者等待其他条件。

  • URG (Urgent):紧急标志。表示数据包中有紧急数据需要优先处理。

这些标志可以单独使用或组合在一起,以便传递更多的控制信息。例如,一个数据包可以同时设置SYN和ACK标志,表示建立连接并进行确认。

linux tcpdump 使用小结(二)的更多相关文章

  1. Linux应急响应(二):捕捉短连接

    0x00 前言 ​ 短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一 ...

  2. Linux shell脚本编程(二)

    Linux shell脚本编程(二) 练习:求100以内所有偶数之和; 使用至少三种方法实现; 示例1: #!/bin/bash # declare -i sum=0 #声明一个变量求和,初始值为0 ...

  3. Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码

    在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...

  4. Linux 常用工具小结:(5) lftp工具使用

    Linux 常用工具小结:(1) lftp工具使用. 这里会按照一些比较常用的功能列出,并举一个具体的例子逐一解释功能. 通常使用ftp过程是登陆ftp,浏览ftp内容,下载ftp文件,或者上传ftp ...

  5. Linux多线程编程小结

     Linux多线程编程小结 前一段时间由于开题的事情一直耽搁了我搞Linux的进度,搞的我之前学的东西都遗忘了,非常烦躁的说,如今抽个时间把之前所学的做个小节.文章内容主要总结于<Linux程序 ...

  6. Linux内核分析(二)----内核模块简介|简单内核模块实现

    原文:Linux内核分析(二)----内核模块简介|简单内核模块实现 Linux内核分析(二) 昨天我们开始了内核的分析,网上有很多人是用用源码直接分析,这样造成的问题是,大家觉得很枯燥很难理解,从某 ...

  7. Linux磁盘分区(二):删除

    ***********************************************声明************************************************ 原创 ...

  8. deepin linux 学习笔记(二)——文本编辑器

    目录 deepin linux 学习笔记(二)--文本编辑器 前言 nano 小巧的命令行编辑器 通用 编辑 定位 排版 配置 vim 思路独特的超级编辑器 命令模式 插入模式 底线模式(末行模式) ...

  9. linux磁盘管理系列二:软RAID的实现

    磁盘管理系列 linux磁盘管理系列一:磁盘配额管理   http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_linux_040_quota.html l ...

  10. Linux内存管理(二)

    Linux内存管理之二:Linux在X86上的虚拟内存管理 本文档来自网络,并稍有改动. 前言 Linux支持很多硬件运行平台,常用的有:Intel X86,Alpha,Sparc等.对于不能够通用的 ...

随机推荐

  1. 计算机网络 ACL和ANT

    目录 一.ACL概况 二.ACL工作过程 三.ACL实验 四.ANT概况 五.ANT工作过程 六.ANT实验 一.ACL概况 概念:主要是对报文进行区分,路由器会对报文进行检查,查看是否符合通过标准或 ...

  2. 高级程序员和新手小白程序员区别你是那个等级看解决bug速度

    IT入门深似海 ,程序员行业,我觉得是最难做的.加不完的班,熬不完的夜. 和产品经理,扯不清,理还乱的宿命关系 一直都在 新需求-做项目-解决问题-解决bug-新需求 好像一直都是这么一个循环.(哈哈 ...

  3. Windows操作系统中常用的Dos命令

    打开CMD的方式: Win+R 输入cmd打开控制台(推荐使用) 在任意文件夹下,按住shift键,点击鼠标右键,选择在此处打开命令行窗口 在资源管理器的地址栏路径前面加上cmd+空格: 常用的Dos ...

  4. EndNote参考文献格式Output Styles界面介绍

      本文对EndNote软件修改论文参考文献引用格式的界面与各选项参数加以详细介绍.   利用EndNote软件进行论文参考文献的插入可以说是非常方便:但其亦具有一个问题,就是对中文文献的支持不太友好 ...

  5. C#与WPF中相关字符串操作

    字符串指定字符查找 例如:输入一个邮箱地址,如果正确则显示success否则显示error(正确的邮箱地址包含@,以.com结尾) //接受输入进来的字符串 string s=this.txtEmsi ...

  6. 什么是Sparse by default for crates.io

    当 Rust crate 发布到 crates.io 上时,可以启用"Sparse by default"特性,这意味着默认情况下,crate 不会包含所有依赖项在上传到 crat ...

  7. Mybatis Generator 配置详解

    因原版观感不佳,搬运至此. 作者:Jimin 链接:https://www.imooc.com/article/21444 来源:慕课网 <?xml version="1.0" ...

  8. GPT3的技术突破:实现更精准的语义分析

    目录 2. 技术原理及概念 3. 实现步骤与流程 4. 应用示例与代码实现讲解 5. 优化与改进 6. 结论与展望 7. 附录:常见问题与解答 GPT-3技术突破:实现更精准的语义分析 近年来,人工智 ...

  9. 【python基础】文件-初识文件

    文本文件可存储的数据量是非常多的.每当需要分析或修改存储在文件中的信息时,首先就是读取文件到内存中,为此可以一次性读取文件的全部内容,也可以以每次一行的方式逐步读取. 1.读取文件 1.1读取整个文件 ...

  10. 记一次.net加密神器 Eazfuscator.NET 2023.2 最新版 使用尝试

    很多人看到这个Eazfuscator.NET还不知是什么东东... 首先介绍下 什么是 Eazfuscator.NET? Eazfuscator.NET 是用于.NET平台的工业级混淆器. Eazfu ...