当前位置: 首页 > backend >正文

学习黑客 tcpdump

5分钟入门:tcpdump最佳实践与常用技巧 🕵️‍♂️

tcpdump 是最常见、最强大的网络抓包与分析工具之一,广泛用于网络故障排查、安全分析、协议研究等场景。本文总结tcpdump的基本用法与实战技巧,助你高效上手。
在这里插入图片描述


一、基础命令速查

  • 抓取全部流量
    tcpdump
    
  • 指定网卡抓包
    tcpdump -i eth0
    
  • 保存为pcap文件
    tcpdump -i eth0 -w traffic.pcap
    
  • 读取已保存文件
    tcpdump -r traffic.pcap
    
  • 只抓前N个包
    tcpdump -c 100
    

二、抓包过滤器实用示例

  • 只看某个IP的数据包

    tcpdump host 192.168.1.10
    
  • 只看某端口流量

    tcpdump port 80
    
  • 只看TCP/UDP/ICMP等协议

    tcpdump tcp
    tcpdump udp
    tcpdump icmp
    
  • 源或目标端口/主机

    tcpdump src port 22
    tcpdump dst host 8.8.8.8
    
  • 组合条件

    tcpdump 'src 10.0.0.1 and (dst port 80 or dst port 443)'
    tcpdump 'tcp and port 443 and host example.com'
    

三、进阶输出与性能优化

  • 简化输出(不解析主机名与端口服务名)
    tcpdump -n -nn
    
  • 显示详细包内容(十六进制/ASCII)
    tcpdump -X
    
  • 显示包的链路层头部
    tcpdump -e
    
  • 只显示包头,不抓取数据内容(提升性能)
    tcpdump -s 96
    
  • 加时间戳
    tcpdump -tttt
    

四、实战场景案例

  • 抓取所有经过网关的DNS请求
    tcpdump -i eth0 port 53
    
  • 定位内网主机异常带宽消耗
    tcpdump -i eth0 src net 192.168.0.0/16 and greater 1000
    
  • 抓取HTTP登录明文密码(教育用途,勿用于非法用途)
    tcpdump -i eth0 -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
    

五、tcpdump最佳实践心得

  1. 尽量用过滤器,避免全网抓包,节省资源,提高效率。
  2. 生产环境抓包前,先与安全/运维沟通,避免影响业务。
  3. 抓包文件存储空间要足够,适时分卷保存(-C参数)。
  4. 抓包文件要及时分析和加密存储,防止敏感数据泄露。
  5. 结合Wireshark等GUI工具做离线详细分析。
  6. 可用nohupscreen后台长时间抓包,防止断连中断任务。
  7. 定期回顾抓包日志,积累分析经验。

六、常用组合命令

  • 定时抓包,按文件大小轮转
    tcpdump -i eth0 -w dump-%Y%m%d%H%M%S.pcap -C 100
    
  • 抓取到目标文件后自动停止
    tcpdump -i eth0 -w dump.pcap -G 60 -W 10
    

七、参考资料

  • tcpdump官方文档
  • Wireshark与tcpdump联合分析指南
  • 高级BPF语法

一句话总结:tcpdump简单易用、功能强大,善用过滤表达式和文件管理技巧,是网络运维和安全人员的必备工具。

http://www.xdnf.cn/news/8371.html

相关文章:

  • 服务器为什么会产生垃圾文件
  • 【JS】Vue 3中ref与reactive的核心区别及使用场景
  • 【JVM 02-JVM内存结构之-程序计数器】
  • 提升推理能力会丢失指令跟随的能力?——【论文阅读笔记】
  • 从逻辑学视角严谨证明数据加密的数学方法与实践
  • 多级Cache
  • 城市地下“隐形卫士”:激光甲烷传感器如何保障燃气安全?
  • 使用 kafka-console-consumer.sh 指定时间或偏移量消费
  • 【golang】能否在遍历map的同时删除元素
  • HTTP协议接口三种测试方法之-postman
  • LinkedList 与 ArrayList 的区别及使用场景
  • 想免费使用 AWS 云服务器?注册、验证及开通全攻略
  • NV054NV057美光固态闪存NV059NV062
  • 穿屏技巧:Mac-Windows一套鼠标键盘控制多台设备 (sharemouse6.0-Keygen)| KM-401A
  • 2025 全球优质 AI 产品深度测评:从通用工具到垂直领域的技术突围 —— 轻量聚合工具篇
  • Sentinel+OpenFeign实现服务熔断与降级:构建弹性微服务架构的核心实践
  • 响应面法(Response Surface Methodology ,RSM)
  • Go语言中内存释放 ≠ 资源释放
  • 【JVM 03-JVM内存结构之-虚拟机栈】
  • 二极管的伏安特性与主要参数
  • C++笔记-封装红黑树实现set和map
  • 【工具类】常用的工具类——CollectionUtil
  • 服务器数据迁移终极指南:网站、数据库、邮件无缝迁移策略与工具实战 (2025)
  • iOS 直播弹幕礼物功能详解
  • HarmonyOS 鸿蒙应用开发基础:转换整个PDF文档为图片功能
  • 【软考架构】2025系统架构设计师开坑指南——后端开发(科目选择,考试大纲,真题分析)
  • vue2组件对象传参
  • Minecraft Fabric - java.lang.NoClassDefFoundError HttpUriRequest
  • windows 下用yolov5 训练模型 给到opencv 使用
  • CSS padding(填充)