tcpdump(二)命令行参数讲解(一)

tcpdump实战详解

bash 复制代码
1、我们做'抓包',一般都需要指定'条件',保证对系统的'CPU、内存、磁盘'资源不会产生过大的响应

备注: 遇到过tcpdump'持续抓包'导致系统'挂了'

2、条件:

   1) tcpdump的 '基础命令选项参数'

   2) 真正的 '过滤条件'

抓包工具tcpdump用法说明

① 参数学习思路

bash 复制代码
思路: 掌握'常用'的'选项参数',其它遇到了'再学习'

备注: 由于是'科普'类的文章,本文视图尽可能的'详细'罗列每个参数

附加: man tcpdump

② 抓包应用场景

bash 复制代码
说明: 关注'2'、'4'、'5'

③ tcpdump工作原理

④ 面试题

bash 复制代码
目的: 考察'tcpdump'的工作原理

命令行选项参数

bash 复制代码
注意: 一些'默认'的'老6'行为

① tcpdump的组成

bash 复制代码
背景: 参数的'不确定性',让大多数人对 tcpdump 的学习始终'无法'得其'精髓'

目的: 便于理解'每个位置'的'顺序'和'含义'
bash 复制代码
sudo tcpdump -vvnni any port 80   --> '看到HTTP详细信息'

② 网络接口

bash 复制代码
1、lvs配置'多业务'网卡,需要采用'-i any'

2、只配置了一个业务网卡[例如:eth0],可以使用-i eth0.
bash 复制代码
常见: '无参'、'-i 网卡'、'-i any'

无参: 如果不指定网络接口,tcpdump 在运行时会选择'编号最低'的网络接口,一般情况下是 eth0

补充: any 这一'特定'的网络接口名用来让 tcpdump 监听'所有'的接口

-i:   'interface'  --> 抓取流经指定'网卡'所有网络接口,'限定'网络接口
bash 复制代码
说明: 一般通过'tcpdump -D'查询'网络接口',然后'tcpdump -i' 获取指定'网卡'流量

③ -n

bash 复制代码
优化: 设置'不解析域名'提升速度

-n:  不把ip转化成'域名',直接显示 ip,避免执行 'DNS lookups' 的过程,速度会快很多

-nn: 不把'协议'和'端口号'转化成'名字',速度也会快很多  --> "常用"

思考: 'CDN' 场景,是否需要把'ip'解析为'域名'?
bash 复制代码
端口'与'服务名称解析

  linux'端口号'与'相应服务'的对应关系存放在'/etc/services'文件中,可以找到'大部分'端口
 
  备注: 使用netstat命令'显示的服务名称'也是从'这个文件'中找的

  附加: /etc/services关于'服务、协议、端口'关联

④ host、src、dst 基于ip地址过滤

bash 复制代码
数据包的 ip 可以再细分为'src 源ip'和'dst 目标ip'两种

++++++++++++++++++ "分割线"  ++++++++++++++++++
​
如果没有指定'类型',默认是'host'

等价: tcpdump -ni eth0 src 10.1.1.2
bash 复制代码
遗留: 'src'和'dst'通过'逻辑符号'可以同时使用

⑤ net 基于网段过滤

bash 复制代码
说明: 网段'同样'可以再细分为'源'网段和'目标'网段

tcpdump src net 192.168.1.0/24  -->  根据'源网段'进行过滤

⑥ port portrange 基于端口号过滤

bash 复制代码
1、tcpdump port 8088             --> 指定'特定端口'进行过滤

2、tcpdump port 80 or port 8088  --> 同时指定'两个'端口

简写: tcpdump port 80 or 8088

3、tcpdump src port 8088         --> 根据'源端口'进行过滤

4、tcpdump portrange 8000-8080   --> 想抓取的是一个端口'范围'

5、tcpdump src port http

备注: 对于一些'常见协议'的'默认'端口,我们还可以直接使用'协议名',而不用具体的端口号

附加: http == 80、https == 443 

⑦ proto基于协议进行过滤

bash 复制代码
常见的'网络协议'有:tcp、udp、icmp、http、ip、ipv6 等

强调: 旧版本有'proto'关键字,新版本没有,这里'Centos7.7' 默认的'4.9.2'没有

补充: 不指定'协议类型',则抓取'所有'协议类型的包

⑧ tcpdump输出结构

bash 复制代码
说明: tcpdump '输出的内容'虽然多,却'很规律'  --> '后续重点掌握'

请求: http://other.wzj.com/index.yml '为例'来看一下
bash 复制代码
第一列: 时分秒毫秒 

第二列: 网络协议 IP

第三列: '发送方'的ip地址+端口号,其中172.20.20.1是 ip,而15605 是'端口号'

第四列:  箭头 >, 表示'数据流向'

第五列: '接收方'的ip地址+端口号,其中 172.20.20.2 是 ip,而5920 是端口号

第六列:  冒号

第七列:  数据包内容

备注: 包括Flags 标识符,seq 号,ack 号,win 窗口,'数据长度' length

附加: 其中 '[P.]' 表示 'PUSH 标志位为 1'

说明: 分列是为了与'awk'结合提取'有用'的信息
相关推荐
SZ17011023128 分钟前
IP协议 标识字段 同一个源IP、目的IP和协议号内唯一
网络·网络协议·tcp/ip
狐572 小时前
2025-06-02-IP 地址规划及案例分析
网络·网络协议·tcp/ip
黎茗Dawn2 小时前
5.子网划分及分片相关计算
网络·智能路由器
恰薯条的屑海鸥3 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
网络·学习·安全·web安全·渗透测试
科技小E3 小时前
口罩佩戴检测算法AI智能分析网关V4工厂/工业等多场景守护公共卫生安全
网络·人工智能
御承扬3 小时前
从零开始开发纯血鸿蒙应用之网络检测
网络·华为·harmonyos
DevSecOps选型指南11 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
国科安芯12 小时前
抗辐照MCU在卫星载荷电机控制器中的实践探索
网络·嵌入式硬件·硬件工程·智能硬件·空间计算
EasyDSS14 小时前
国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
网络·人工智能
玩转4G物联网14 小时前
零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
服务器·网络·物联网·网络协议·tcp/ip·http·fs100p