linux之tcpdump命令

在日常系统维护中,遇到需要抓包的需求,下面对linux环境使用tcpdump命令进行抓包进行分析记录。tcpdump命令可用抓取流动在网卡上的数据包。

1、tcpdump常用参数说明

  • -c : 抓包次数,达到指定次数后停止抓包
  • -C : 文件大小,写入文件前判断文件是否超过了设置的大小,超过了则关闭当前文件,开启新文件
  • -i : 指定监听的网络接口
  • -nn : 不进行端口名称的转换
  • -r : 从指定文件中读取包
  • -s : 设置每个数据包的大小
  • -t : 在输出的每一行不打印时间戳
  • vv : 输出详细的报文信息
  • -w : 保存到指定文件中而不是打印出来,如tcpdump -w /tmp/test.pcap

2、tcpdump支持的过滤方式

过滤项 过滤项说明 示例
host、src host、dst host 过滤主机 tcpdump host 192.168.11.11
port,src port,dst port 过滤端口 tcpdump port 9999
ip,ip6,arp,tcp,udp,icmp 过滤协议 tcpdump udp 192.168.11.11
and,or,not 逻辑表达式 tcpdump host 192.168.11.11 and port 9999

3、实例

  1. 从所有网卡获取数据包
    tcpdump -i any
  2. 获取指定网卡的数据包
    tcpdump -i eth0
  3. 抓取包含指定ip的数据包
    tcpdump host 192.168.11.11
  4. 获取指定网卡和地址的数据包,并写入文件
    tcpdump -i eth0 host 192.168.11.11 -w testfile.cap
  5. 指定:网卡、源IP、目的IP,并写入文件
    tcpdump -i eth0 src host 192.168.11.21 and dst host 192.168.11.11 -w testfile.cap
  6. 指定:网卡、源IP或目的IP、写入文件
    tcpdump -i eth0 src host 192.168.11.21 0r dst host 192.168.11.11 -w testfile.cap
  7. 指定:网卡、tcp端口、源IP、目的IP
    tcpdump -i eth0 port 19999 and src host 192.168.11.21 and dst host 192.168.11.11
  8. 抓包显示详细信息
    tcpdump -vv
  9. 抓取udp包
    tcpdump -i eth0 udp port 9999
  10. 抓取指定端口
    tcpdump udp port 8801 -w /tmp/test.cap
相关推荐
、BeYourself29 分钟前
计算机网络常考大题
网络
ZachOn1y30 分钟前
计算机网络:应用层 —— 文件传送协议 FTP
网络·计算机网络·应用层·文件传送协议ftp·考研408·知识积累
9毫米的幻想36 分钟前
【Linux系统】—— 冯诺依曼体系结构与操作系统初理解
linux·运维·服务器·c语言·c++
刘什么洋啊Zz43 分钟前
剖析IO原理和零拷贝机制
java·运维·网络
leoufung2 小时前
vim 多个关键字高亮插件介绍
linux·编辑器·vim
阿里云云原生3 小时前
山石网科×阿里云通义灵码,开启研发“AI智造”新时代
网络·人工智能·阿里云·ai程序员·ai程序员体验官
Nerd Nirvana5 小时前
软考—系统架构设计(案例 | 论文)
linux·系统架构·软件工程·软考·计算机基础
勤奋的凯尔森同学6 小时前
webmin配置终端显示样式,模仿UbuntuDesktop终端
linux·运维·服务器·ubuntu·webmin
小冷爱学习!10 小时前
华为动态路由-OSPF-完全末梢区域
服务器·网络·华为
技术小齐10 小时前
网络运维学习笔记 016网工初级(HCIA-Datacom与CCNA-EI)PPP点对点协议和PPPoE以太网上的点对点协议(此处只讲华为)
运维·网络·学习