在linux中使用tcpdump抓包的方法:

在linux中使用tcpdump抓包的方法:

1,运行下面命令来从所有网卡中捕获数据包:

tcpdump -i any

2,从指定网卡中捕获数据包

tcpdump -i eth0

3,指定网卡,IP地址,写入文件

tcpdump -i eth0 host 10.19.150.242 -w ./datdump.cap

4,指定网卡,源ip 且 目的ip,写入文件

tcpdump -i eth0 src host 10.10.100.19 and dst host 10.10.100.153 -w ./datdump1.cap

5,指定网卡,源ip 或 目的ip,写入文件

tcpdump -i eth0 src host 10.10.100.19 or dst host 10.10.100.153 -w ./datdump1.cap

6,指定网卡,tcp端口 且 源ip 且 目的ip,写入文件

tcpdump -i eth0 tcp port 52312 and src host 10.10.100.19 and dst host 10.10.100.153 -w ./datdump3.cap

7,指定网卡,tcp端口 且 源ip 且 目的ip,写入文件

tcpdump -i eth0 host ! 10.10.100.19 and ! 10.10.100.153 -w ./datdump4.cap

8,只抓取sync的数据包 具体什么意思,详见

tcpdump -i eth0 tcp[13] == 2 -w ./datdump5.cap

9,只抓取HTTP包

tcpdump -i eth0 ‘tcp[(tcp[12]>>2):4] = 0x48545450’ -w ./datdump5.cap

10,只抓取ip数据帧中没有数据的包,详见

tcpdump -i eth0 ‘((ip[2:2] – ((ip[0]&0xf)<

tcpdump [ 选项 ] [ -c 数量 ] [ -i 网络接口 ] [ -w 文件名 ] [ 表达式 ]

man tcpdump

tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]

&#x200B;    [ -c count ]

&#x200B;    [ -C file_size ] [ -G rotate_seconds ] [ -F file ]

&#x200B;    [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]

&#x200B;    [ --number ] [ -Q in|out|inout ]

&#x200B;    [ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]

&#x200B;    [ -W filecount ]

&#x200B;    [ -E spi@ipaddr algo:secret,... ]

&#x200B;    [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]

&#x200B;    [ --time-stamp-precision=tstamp_precision ]

&#x200B;    [ --immediate-mode ] [ --version ]

&#x200B;    [ expression ]

&#x9009;&#x9879;&#x7FFB;&#x8BD1;&#x5982;&#x4E0B;&#xFF1A;

-l&#xFF1A;&#x4F7F;&#x6807;&#x51C6;&#x8F93;&#x51FA;&#x53D8;&#x4E3A;&#x7F13;&#x51B2;&#x884C;&#x5F62;&#x5F0F;&#xFF1B;

-c&#xFF1A;&#x6293;&#x5305;&#x6B21;&#x6570;&#xFF1B;

-nn&#xFF1A;&#x76F4;&#x63A5;&#x4EE5; IP &#x53CA; Port Number &#x663E;&#x793A;&#xFF0C;&#x800C;&#x975E;&#x4E3B;&#x673A;&#x540D;&#x4E0E;&#x670D;&#x52A1;&#x540D;&#x79F0;&#xFF1B;

-s &#xFF1A;<数据包大小> &#x8BBE;&#x7F6E;&#x6BCF;&#x4E2A;&#x6570;&#x636E;&#x5305;&#x7684;&#x5927;&#x5C0F;&#xFF1B;

-i&#xFF1A;&#x6307;&#x5B9A;&#x76D1;&#x542C;&#x7684;&#x7F51;&#x7EDC;&#x63A5;&#x53E3;&#xFF1B;

-r&#xFF1A;&#x4ECE;&#x6307;&#x5B9A;&#x7684;&#x6587;&#x4EF6;&#x4E2D;&#x8BFB;&#x53D6;&#x5305;&#xFF1B;

-w&#xFF1A;&#x8F93;&#x51FA;&#x4FE1;&#x606F;&#x4FDD;&#x5B58;&#x5230;&#x6307;&#x5B9A;&#x6587;&#x4EF6;&#xFF1B;

-a&#xFF1A;&#x5C06;&#x7F51;&#x7EDC;&#x5730;&#x5740;&#x548C;&#x5E7F;&#x64AD;&#x5730;&#x5740;&#x8F6C;&#x53D8;&#x6210;&#x540D;&#x5B57;&#xFF1B;

-d&#xFF1A;&#x5C06;&#x5339;&#x914D;&#x4FE1;&#x606F;&#x5305;&#x7684;&#x4EE3;&#x7801;&#x4EE5;&#x4EBA;&#x4EEC;&#x80FD;&#x591F;&#x7406;&#x89E3;&#x7684;&#x6C47;&#x7F16;&#x683C;&#x5F0F;&#x7ED9;&#x51FA;&#xFF1B;

-e&#xFF1A;&#x5728;&#x8F93;&#x51FA;&#x884C;&#x6253;&#x5370;&#x51FA;&#x6570;&#x636E;&#x94FE;&#x8DEF;&#x5C42;&#x7684;&#x5934;&#x90E8;&#x4FE1;&#x606F;&#xFF1B;

-f&#xFF1A;&#x5C06;&#x5916;&#x90E8;&#x7684;Internet&#x5730;&#x5740;&#x4EE5;&#x6570;&#x5B57;&#x7684;&#x5F62;&#x5F0F;&#x6253;&#x5370;&#x51FA;&#x6765;&#xFF1B;

-t&#xFF1A;&#x5728;&#x8F93;&#x51FA;&#x7684;&#x6BCF;&#x4E00;&#x884C;&#x4E0D;&#x6253;&#x5370;&#x65F6;&#x95F4;&#x6233;&#xFF1B;

-v &#xFF1A;&#x8F93;&#x51FA;&#x7A0D;&#x5FAE;&#x8BE6;&#x7EC6;&#x7684;&#x62A5;&#x6587;&#x4FE1;&#x606F;&#xFF1B;--vv&#x5219;&#x8F93;&#x51FA;&#x66F4;&#x8BE6;&#x7EC6;&#x4FE1;&#x606F;&#x3002;
</数据包大小>

抓取带有特殊标记的数据包

https://www.jb51.net/LINUXjishu/118388.html?pc

示例:抓取只包含SYN位的数据包

1.客户端发送SYN

2.服务端回应SYN和ACK

3.客户端发送ACK

现在我们仅捕获包含SYN位的数据包。 注意,不希望步骤2(SYN-ACK)的数据包,只是一个普通的初始SYN。

tcp头的结构

在linux中使用tcpdump抓包的方法:

TCP头包含20个字节固定长度的数据(上图中的前4行),而控制位位于第13个字节(字节计算从0开始)

在linux中使用tcpdump抓包的方法:

只看我们感兴趣的控制位:

在linux中使用tcpdump抓包的方法:

这些是我们感兴趣的TCP控制位。我们对这个八位组中的位进行了编号,从0到7,从右到左,所以PSH位是位编号3,而URG位是编号5,SYN位是2。

在linux中使用tcpdump抓包的方法:

如果只包含 SYN 位,那就是 tcp头的第13个字节(0开始)的值为2,即tcp[13] == 2。

tcpdump -i eth0 tcp[13] == 2 -w ./datdump5.cap

如果抓取包含SYN位的数据包

tcpdump -i eth0 ‘tcp[13] & 2 == 2’ -w ./datdump5.cap

示例:只抓取ip数据包没有数据的包

tcpdump -i eth0 ‘((ip[2:2] – ((ip[0]&0xf)<

ip[2:2]

表示整个ip数据包总长度,即ip头的第2个字节(0开始)开始的两个字节(2,3)的值。

(ip[0]&0xf)<

Original: https://www.cnblogs.com/xutopia/p/15738423.html
Author: xutopia
Title: 在linux中使用tcpdump抓包的方法:

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/613125/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 30道关于linux的基础命令小题,先练练手

    1.修改主机名为yuanlai0224命令是: 2.切换⽬录到/yuchao01/data/,再创建脚本/my_website/scripts/start.sh。 绝对路径、相对路…

    Linux 2023年5月27日
    091
  • Snap Build Your Own Blocks输入中文解决办法

    Snap Build Your Own Blocks 输入中文解决办法 Snap! (formerly BYOB) is a visual, drag-and-drop progr…

    Linux 2023年6月6日
    084
  • python操作MySQL;MySQL补充知识

    目录 1.python操作MySQL 2.SQL注入及解决方式 3.二次确认 4.修改表SQL语句补充 5.视图 6.触发器 7.事务 8.存储过程 9.函数 10.流程控制 11…

    Linux 2023年6月7日
    093
  • springboot 工程出现 socket hang up

    出现socket hang up 原因为程序处理时间长,超出了默认请求超时时间,导致socket断开 可以通过设置请求超时时间降低出现的概率以下示例中设置请求超时时间为三分钟 sp…

    Linux 2023年6月8日
    099
  • Windows关闭135/137/139/445 端口

    通过IP安全策略(以关闭135端口为例) (1) 依次打开”控制面板–>系统和安全–>管理工具–>本地安全策略&#…

    Linux 2023年6月8日
    0215
  • 最小二乘法

    背景:我们有一系列的点(x,y),如下图所示,实际上这就是一个y=10*x的一元一次曲线,再加上一个随机误差得到的数据。 我们想用一个线性方程来拟合它y=a*x+b为了达到最好的拟…

    Linux 2023年6月15日
    0111
  • SharePoint 2007 Full Text Searching PowerShell and CS file content with SharePoint Search

    Ensure your site or shared folder in one Content Source. Add file types. The second step i…

    Linux 2023年5月28日
    069
  • linux-查看公钥的指纹值或者部署密钥的指纹值

    背景 查看gitlab上面的[部署密钥],看到了指纹 [xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx],怎么知道这个部署密钥的指纹…

    Linux 2023年6月6日
    0104
  • 数据库常用函数

    一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然…

    Linux 2023年6月13日
    085
  • Springboot集成Redis举例

    依赖包 配置文件(application.properties) 配置文件(RedisConfig.java) import com.fasterxml.jackson.annot…

    Linux 2023年5月28日
    084
  • 理想汽车 x JuiceFS:从 Hadoop 到云原生的演进与思考

    理想汽车在 Hadoop 时代的技术架构 首先简单回顾下大数据技术的发展,基于我个人的理解,将大数据的发展分了4个时期: 第一个时期: 2006 年到 2008 年。2008 年左…

    Linux 2023年6月14日
    082
  • RPA 快手自动上传机器人

    bash;gutter:true;1、打开账号Cookie预存表格2、机器人自动登录账号3、机器人开始按照预设视频位置开始自动上传视频4、机器人开始自动填写视频相关信息内容5、完成…

    Linux 2023年6月7日
    0112
  • Android:hook很“危险”,使用需谨慎。

    前言 上篇文章《Android安卓进阶技术分享之AGP工作原理》和大家分析了 AGP(Android Gradle Plugin) 做了哪些事,了解到 AGP 就是为打包这个过程服…

    Linux 2023年6月13日
    075
  • Linux备份之远程同步—rsync

    一、备份 1.1 什么是备份? 备份就是把重要的数据或者文件复制一份保存到另一个地方,实现不同主机之间的数据同步 1.2 为什么做备份? 数据在公司中是很重要的!!!备份就是为了恢…

    Linux 2023年5月27日
    093
  • mycat2 读写分离配置(详解)

    mycat2相对mycat1来说升级还挺多的,但是全网资料太少了,这里尽可能详细的将读写分离说清楚,目前这套配置已经在我司生产环境应用,日UV6W左右,暂时没发现问题。 1.1下载…

    Linux 2023年6月6日
    096
  • SQLI-LABS(Less-4)

    Less-4(GET-Error based-Double Quotes-string) 打开 Less-4页面,可以看到页面中间有一句 Please input the ID a…

    Linux 2023年6月6日
    073
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球