0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linux运维必备技能:手把手教你用tcpdump精准抓包

马哥Linux运维 来源:马哥Linux运维 2024-12-24 11:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介

网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。

tcpdump - dump traffic on a network

例子

不指定任何参数

监听第一块网卡上经过的数据包。主机上可能有不止一块网卡,所以经常需要指定网卡。

tcpdump

监听特定网卡

tcpdump -i en0

监听特定主机

例子:监听本机跟主机182.254.38.55之间往来的通信包。

备注:出、入的包都会被监听。

tcpdump host 182.254.38.55

特定来源、目标地址的通信

特定来源

tcpdump src host hostname

特定目标地址

tcpdump dst host hostname

如果不指定src跟dst,那么来源 或者目标 是hostname的通信都会被监听

tcpdump host hostname

特定端口

tcpdump port 3000

监听TCP/UDP

服务器上不同服务分别用了TCP、UDP作为传输层,假如只想监听TCP的数据包

tcpdump tcp

来源主机+端口+TCP

监听来自主机123.207.116.169在端口22上的TCP数据包

tcpdump tcp port 22 and src host 123.207.116.169

监听特定主机之间的通信

tcpdump ip host 210.27.48.1 and 210.27.48.2

210.27.48.1除了和210.27.48.2之外的主机之间的通信

tcpdump ip host 210.27.48.1 and ! 210.27.48.2

稍微详细点的例子

tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

抓http包

TODO

限制抓包的数量

如下,抓到1000个包后,自动退出

tcpdump -c 1000

保存到本地

备注:tcpdump默认会将输出写到缓冲区,只有缓冲区内容达到一定的大小,或者tcpdump退出时,才会将输出写到本地磁盘

tcpdump -n -vvv -c 1000 -w /tmp/tcpdump_save.cap

也可以加上-U强制立即写到本地磁盘(一般不建议,性能相对较差)

实战例子

先看下面一个比较常见的部署方式,在服务器上部署了nodejs server,监听3000端口。nginx反向代理监听80端口,并将请求转发给nodejs server(127.0.0.1:3000)。

浏览器 -> nginx反向代理 -> nodejs server

问题:假设用户(183.14.132.117)访问浏览器,发现请求没有返回,该怎么排查呢?

步骤一:查看请求是否到达nodejs server -> 可通过日志查看。

步骤二:查看nginx是否将请求转发给nodejs server。

tcpdump port 8383 

这时你会发现没有任何输出,即使nodejs server已经收到了请求。因为nginx转发到的地址是127.0.0.1,用的不是默认的interface,此时需要显示指定interface

tcpdump port 8383 -i lo

备注:配置nginx,让nginx带上请求侧的host,不然nodejs server无法获取 src host,也就是说,下面的监听是无效的,因为此时对于nodejs server来说,src host 都是 127.0.0.1

tcpdump port 8383 -i lo and src host 183.14.132.117

步骤三:查看请求是否达到服务器

tcpdump -n tcp port 8383 -i lo and src host 183.14.132.117

链接:https://www.cnblogs.com/chyingp/p/linux-command-tcpdump.html

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11627

    浏览量

    217888
  • 数据包
    +关注

    关注

    0

    文章

    269

    浏览量

    25420

原文标题:Linux运维必备技能:手把手教你用tcpdump精准抓包!

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    从0到1,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)

    “告别检测系统能力缺陷!10+年LabVIEW视觉资深专家手把手教你:5000+分钟高清教程(含工具、算法原理、实战操作、项目优化全流程讲解)”——从传统视觉算法→深度学习建模→工业级部署"
    的头像 发表于 12-02 08:07 75次阅读
    从0到1,10+年资深LabVIEW专家,<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>攻克机器视觉+深度学习(5000分钟实战课)

    【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用

    【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用
    的头像 发表于 11-11 14:21 532次阅读
    【迅为RK3568开发板NPU实战】别再闲置你的NPU!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>玩转RKNN-Toolkit2 的使用

    【RK3568 NPU实战】别再闲置你的NPU!手把手带你迅为资料跑通Android AI检测Demo,附完整流程与效果

    【RK3568 NPU实战】别再闲置你的NPU!手把手带你迅为资料跑通Android AI检测Demo,附完整流程与效果
    的头像 发表于 11-10 15:58 855次阅读
    【RK3568 NPU实战】别再闲置你的NPU!<b class='flag-5'>手把手</b>带你<b class='flag-5'>用</b>迅为资料跑通Android AI检测Demo,附完整流程与效果

    汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262合规实践

    ISO 26262合规指南,从ASIL分级到工具落地,手把手教你用静态代码分析(Perforce QAC)实现高效合规。
    的头像 发表于 08-07 17:33 862次阅读
    汽车软件团队必看:基于静态代码分析工具Perforce QAC的ISO 26262合规实践

    TCPDump分析实战

    作为一名资深工程师,我在生产环境中遇到过各种奇葩的网络问题。今天分享10个真实案例,带你掌握TCPDump这把利器,让网络问题无处遁形!
    的头像 发表于 08-06 17:58 777次阅读

    【精选直播】手把手教你做PC第十二课:WIFI 驱动框架适配

    手把手教你做PC》系列直播课再度开播!《KaihongOS笔记本电脑开发实战第十二课:WIFI驱动框架适配》将于07月02日19:00开播↑扫码入群,领课程讲义资料↑深开鸿资深工程师亲临直播间
    的头像 发表于 07-01 08:08 390次阅读
    【精选直播】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC第十二课:WIFI 驱动框架适配

    手把手教你如何调优Linux网络参数

    在高并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃。本文基于真实案例分析,从参数解读、问题诊断到优化实践,手把手教你如何调优Linux
    的头像 发表于 05-29 09:21 641次阅读

    正点原子Linux系列全新视频教程来啦!手把手教你MP257开发板,让您轻松入门!

    正点原子Linux系列全新视频教程来啦!手把手教你MP257开发板,让您轻松入门! 一、视频观看 正点原子手把手教你学STM32MP257
    发表于 05-16 10:42

    请求赠阅《零基础开发AI Agent——手把手教你用扣子做智能体》

    博主好!致敬叶涛 管锴 张心雨三位AI具身智能-智能体方面的专家、导师! 《零基础开发AI Agent——手把手教你用扣子做智能体》一不懂编程的多数大众也可以开发Agent,这意义深远,功德无量
    发表于 04-10 12:16

    《零基础开发AI Agent——手把手教你用扣子做智能体》

    《零基础开发AI Agent——手把手教你用扣子做智能体》是一本为普通人量身打造的AI开发指南。它不仅深入浅出地讲解了Agent的概念和发展,还通过详细的工具介绍和实战案例,帮助读者快速掌握
    发表于 03-18 12:03

    手把手教你做星闪无人机—KaihongOS星闪无人机开发实战》系列课程课件汇总

    为助力开发者迅速掌握『KaihongOS轻量系统开发技术』与『星闪无线通信技术』,实现快速上手与深度体验,“开鸿Developer社区”携手“电子发烧友”再次联合推出《手把手教你做星闪无人机
    发表于 03-18 10:33

    手把手教你做PC-KaihongOS笔记本电脑开发实战》课件汇总

    ”携手“电子发烧友”联合推出了 《KaihongOS手把手系列直播课程》,该系列课程以实际产品为案例,详细讲解每个产品的开发全流程。 此次首发内容是《手把手教你做PC-KaihongOS笔记本电脑开发
    发表于 03-18 10:25

    开发者集结!《手把手教你做星闪无人机》第二课开讲啦!

    开发者集结!《手把手教你做星闪无人机》第二课开讲啦!
    的头像 发表于 02-17 19:40 646次阅读
    开发者集结!《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星闪无人机》第二课开讲啦!

    手把手教你做星闪无人机》即将开播,锁定15日晚七点!

    ”再次联合推出《手把手教你做星闪无人机—KaihongOS星闪无人机开发实战》系列课程,该课程与《手把手教你做PC—KaihongOS笔记本电脑开发实战》同步并行,
    的头像 发表于 01-13 19:42 875次阅读
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星闪无人机》即将开播,锁定15日晚七点!

    手把手教你做PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战

    ”携手“电子发烧友”联合推出了《KaihongOS手把手系列直播课程》,该系列课程以实际产品为案例,详细讲解每个产品的开发全流程。此次首发内容是《手把手教你做PC-
    的头像 发表于 01-06 20:46 861次阅读
    《<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC》课程即将启动!深开鸿引领探索KaihongOS笔记本电脑开发实战