linux tcpdump 使用小结(二)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: linux tcpdump 使用小结(二)

转载请注明出处:

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:显示更详细的输出信息,如协议解析和标志位。

使用示例1:

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

使用示例2:

tcpdump -n -l -i any  tcp  port 24009 and src 50.1.1.2  -A -s0 |strings

  参数介绍:

  • tcpdump 是用于捕获网络数据包的命令。
  • -n 禁用主机名解析,显示IP地址而不是域名。
  • -l 设置行缓冲模式,改善实时输出效果。
  • -i any 指定在任意网络接口上进行捕获。
  • tcp 过滤出只显示TCP流量的数据包。
  • port 24009 捕获源或目标端口为24009的流量。
  • and src 50.1.1.2 过滤出源IP地址为50.1.1.2的数据包。
  • -A 以ASCII格式显示数据包内容,使其可读。
  • -s0 设置快照长度为0,捕获完整的数据包。
  • | strings 将输出结果通过管道发送给"strings"命令,该命令过滤非打印字符。

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

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

  • SYN (Synchronize):用于建立连接的请求标志。当一个主机尝试与另一个主机建立连接时,它会发送一个带有SYN标志的数据包。
  • ACK (Acknowledgment):确认标志。表示收到了对方发送的数据包,并发送了确认响应。
  • RST (Reset):重置标志。用于终止连接或表示连接出现错误。当一方收到无效的、不可接受的数据包时,可以发送RST标志来告知对方重置连接。
  • FIN (Finish):结束标志。用于终止连接的请求。当发送方发送了所有数据后,会发送一个带有FIN标志的数据包,请求关闭连接。
  • PSH (Push):推送标志。指示接收方应该立即将数据交给应用层,而不是等待缓冲区填满或者等待其他条件。
  • URG (Urgent):紧急标志。表示数据包中有紧急数据需要优先处理。

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

 

linux tcpdump 使用小结(一)

 

标签: linux

目录
相关文章
|
6月前
|
运维 网络协议 安全
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
【Shell 命令集合 网络通讯 】Linux 网络抓包工具 tcpdump命令 使用指南
181 0
|
6月前
|
网络协议 Linux
Linux命令(120)之tcpdump
Linux命令(120)之tcpdump
86 0
|
Linux
linux下用tcpdump抓包
linux下用tcpdump抓包
|
3月前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
3月前
|
存储 运维 安全
在Linux中,如何使用tcpdump和tshark进行实时数据包捕获?
在Linux中,如何使用tcpdump和tshark进行实时数据包捕获?
|
4月前
|
运维 监控 网络协议
Linux抓包命令tcpdump使用技巧大全
【7月更文挑战第10天】
150 5
Linux抓包命令tcpdump使用技巧大全
|
4月前
|
Linux
linux tcpdump 使用小结(一)
linux tcpdump 使用小结(一)
51 10
|
3月前
|
监控 网络协议 Linux
在Linux中,如何使用 tcpdump 嗅探 80 端口的访问看看谁最⾼?
在Linux中,如何使用 tcpdump 嗅探 80 端口的访问看看谁最⾼?
|
3月前
|
机器学习/深度学习 网络协议 安全
在Linux中,如何追踪TCP连接和网络数据包,如使用tcpdump或Wireshark?
在Linux中,如何追踪TCP连接和网络数据包,如使用tcpdump或Wireshark?
|
6月前
|
数据采集 机器学习/深度学习 网络协议
Linux|操作系统|应该知道的网络抓包知识(主要是wireshark,tcpdump)
Linux|操作系统|应该知道的网络抓包知识(主要是wireshark,tcpdump)
121 0