转载请注明出处:

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. 二次封装Element UI Table实现动态列

    开发中是否会遇见在一个页面中加载的table的列是不固定的,列名需要根据后台数据而动态加载:so element ui 的table 已经不再满足需求,我们得在他的基础上再次封装 增加 refacto ...

  2. ODOO13 之十 :Odoo 13开发之后台视图 – 设计用户界面

    Odoo 13开发之后台视图 – 设计用户界面 本文将学习如何为用户创建图形化界面来与图书应用交互.我们将了解不同视图类型和小组件(widgets)之间的差别,以及如何使用它们来提供更优的用户体验. ...

  3. v8 study

    v8环境搭建看这里 现在的v8采用的是Ignition(JIT生成) + TurboFan(优化) v8调试 安装pwngdb git clone https://github.com/pwndbg/ ...

  4. 【HarmonyOS】关于 Caused by java.lang.IllegalStateException The specified...

    [问题描述] 线上收到大量手机的崩溃异常,以华为手机为主,崩溃如下 1.Caused by: java.lang.IllegalStateException: The specified messag ...

  5. 从输入URI到浏览器渲染中间都经历了什么

    这篇文章总共分为两个部分,第一部分我会把从输入url到浏览器渲染的整个流程给大致说一下.第二部分我就会一一介绍各个部分的详细作用. 一.从输入url到浏览器渲染的整个流程   1.DNS域名解析 2. ...

  6. 深度学习中的循环神经网络”在Transformer中的应用

    目录 深度学习中的"循环神经网络"在Transformer中的应用 背景介绍 文章目的 目标受众 技术原理及概念 基本概念解释 相关技术比较 实现步骤与流程 准备工作:环境配置与依 ...

  7. WPF 入门笔记 - 06 - 命令

    我们把世界看错,反说它欺骗了我们. --飞鸟集 前言 相较而言,命令对我来说是一个新概念,因为在Winform中压根没有所谓的命令这个概念.从文字角度理解,"命令"可以指代一种明确 ...

  8. 端口探测神器——Nmap

    Nmap 简介: 全称网络映射器,能快速扫描大型网络或单个网络上有哪些主机,这些主机提供什么服务,可以发现服务器运行在什么操作系统上,从而发现可攻击的脆弱点,扩大攻击范围 Nmap有图形化版本名叫Ze ...

  9. 前端使用CSS固定表头

    * { margin: 0; padding: 0 } .tableFixedTop { padding: 20px } .tableFixedTop table { border: 1px soli ...

  10. Python将大的csv文件拆分多个小的csv文件

    #ecoding=utf-8 import os import time # 2019/9/8 将大的csv文件拆分多个小的csv文件 def mkSubFile(lines, head, srcNa ...