linux系统下使用tcpdump进行抓包方法

 更新时间:2019年04月23日 08:46:03   投稿:laozhang  
在本篇文章中小编给大家分享了关于linux系统下使用tcpdump进行抓包的方法和相关知识点,需要的朋友们学习下。

我先看下实例代码:

1.常见参数

tcpdump -i eth0 -nn -s0 -v port 80

-i 选择监控的网卡

-nn 不解析主机名和端口号,捕获大量数据,名称解析会降低解析速度

-s0 捕获长度无限制

-v 增加输出中显示的详细信息量

port 80 端口过滤器,只捕获80端口的流量,通常是HTTP

2.

tcpdump -A -s0 port 80

-A 输出ASCII数据

-X 输出十六进制数据和ASCII数据

3.

tcpdump -i eth0 udp

udp 过滤器,只捕获udp数据

proto 17 协议17等效于udp

proto 6 等效于tcp

4.

tcpdump -i eth0 host 10.10.1.1

host 过滤器,基于IP地址过滤

5.

tcpdump -i eth0 dst 10.105.38.204

dst 过滤器,根据目的IP过滤

src 过滤器,根据来源IP过滤

6.

tcpdump -i eth0 -s0 -w test.pcap

-w 写入一个文件,可以在Wireshark中分析

7.

tcpdump -i eth0 -s0 -l port 80 | grep 'Server:'

-l 配合一些管道命令的时候例如grep

8.

组合过滤

and or &&

or or ||

not or !

9.

快速提取HTTP UA

tcpdump -nn -A -s1500 -l | grep "User-Agent:"

使用egrep 匹配 UA和Host

tcpdump -nn -A -s1500 -l | egrep -i 'User-Agent:|Host:'

10.

匹配GET的数据包

tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

匹配POST包,POST的数据可能不在包里

tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'

11.

匹配HTTP请求头

tcpdump -s 0 -v -n -l | egrep -i "POST /|GET /|Host:"

匹配一些POST的数据

tcpdump -s 0 -A -n -l | egrep -i "POST /|pwd=|passwd=|password=|Host:"

匹配一些cookie信息

tcpdump -nn -A -s0 -l | egrep -i 'Set-Cookie|Host:|Cookie:'

12.

捕获DNS请求和响应

tcpdump -i eth0 -s0 port 53

13.

使用tcpdump捕获并在Wireshark中查看

使用ssh远程连接服务器执行tcpdump命令,并在本地的wireshark分析

ssh root@remotesystem 'tcpdump -s0 -c 1000 -nn -w - not port 22' | wireshark -k -i -

ssh ubuntu@115.159.28.111 'sudo tcpdump -s0 -c 1000 -nn -w - not port 22' | wireshark -k -i -

14.

配合shell获取最高的IP数

tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20

15.捕获DHCP的请求和响应

tcpdump -v -n port 67 or 68

相关文章

  • Linux下tar解压错误:文件损坏与不完整问题的解决方案

    Linux下tar解压错误:文件损坏与不完整问题的解决方案

    在日常的 Linux 系统管理中,我们经常需要使用 tar 命令来压缩和解压文件,然而,有时在解压过程中会遇到诸如“文件损坏”或“意外结束”等错误提示,本文将详细分析这些问题的原因,并提供一套完整的解决方案,需要的朋友可以参考下
    2025-02-02
  • Windows和Linux实现远程桌面连接

    Windows和Linux实现远程桌面连接

    这篇文章主要介绍了Windows和Linux实现远程桌面连接,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-05-05
  • 教你如何在ubuntu15.04安装 RVM

    教你如何在ubuntu15.04安装 RVM

    rvm 的全称是 Ruby Version Manager ,是一款由 Wayne E. Seguin 开发的一款命令行工具。rvm 能够让你轻松的安装、管理 ruby 生产力环境,诸如不同版本的解释器和 gem 。
    2015-11-11
  • 在linux下升级软件包版本等方法详解

    在linux下升级软件包版本等方法详解

    今天小编就为大家分享一篇在linux下升级软件包版本等方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Linux使用sosreport实现生成系统报告

    Linux使用sosreport实现生成系统报告

    sosreport 命令是许多 Linux 发行版上可用的工具,特别是基于 Red hat 的系统,下面我们来看看如何使用sosreport实现生成系统报告吧
    2025-02-02
  • Linux中Curl参数详解实践应用

    Linux中Curl参数详解实践应用

    在现代网络开发和运维工作中,curl 命令是一个不可或缺的工具,它是一个利用 URL 语法在命令行下工作的文件传输工具,支持多种协议,如 HTTP、HTTPS、FTP 等,本文给大家介绍了Linux中Curl参数详解实践应用,需要的朋友可以参考下
    2025-01-01
  • 修改linux文件权限命令:chmod命令详解

    修改linux文件权限命令:chmod命令详解

    本篇文章主要介绍了修改linux文件权限命令:chmod,Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。
    2016-12-12
  • linux下多个硬盘划分到同一挂载点问题

    linux下多个硬盘划分到同一挂载点问题

    在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成逻辑卷组,接着,从逻辑卷组中划分出逻辑卷,并进行格式化和挂载
    2025-02-02
  • 详解为新版Apache服务器开启HTTP/2支持的方法

    详解为新版Apache服务器开启HTTP/2支持的方法

    这篇文章主要介绍了在Apache服务器中开启HTTP/2的方法,HTTP/2被称为未来的新HTTP协议,需要的朋友可以参考下
    2015-12-12
  • Linux无法为立即文档创建临时文件:设备上没有空间的问题解决

    Linux无法为立即文档创建临时文件:设备上没有空间的问题解决

    这篇文章主要介绍了Linux无法为立即文档创建临时文件的问题解决方案,文中通过图文结合的形式讲解的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-10-10

最新评论