Linux tcpdump抓包转Wireshark 分析

news2024/12/23 18:43:05

简介

tcpdump 是Linux系统下的一个强大的命令,可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,本文将展示如何使用 tcpdump 抓包,以及如何用 tcpdump 和 wireshark 分析网络流量

tcpdump指令介绍

语法

tcpdump [ -AdDefIJKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c count ]
               [ -C file_size ] [ -G rotate_seconds ] [ -F file ]
               [ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
               [ -Q|-P in|out|inout ]
               [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
               [ -W filecount ]
               [ -E spi@ipaddr algo:secret,...  ]
               [ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
               [ expression ]

命令行参数解析

  • -A 以ASCII格式打印出所有分组,并将链路层的头最小化。
  • -c 在收到指定的数量的分组后,tcpdump就会停止。
  • -C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size
  • 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size
  • 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。
  • -d 将匹配信息包的代码以人们能够理解的汇编格式给出。
  • -dd 将匹配信息包的代码以c语言程序段的格式给出。
  • -ddd 将匹配信息包的代码以十进制的形式给出。
  • -D 打印出系统中所有可以用tcpdump截包的网络接口。
  • -e 在输出行打印出数据链路层的头部信息。
  • -E 用spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。
  • -f 将外部的Internet地址以数字的形式打印出来。
  • -F 从指定的文件中读取表达式,忽略命令行中给出的表达式。
  • -i 指定监听的网络接口。
  • -l 使标准输出变为缓冲行形式。
  • -L 列出网络接口的已知数据链路。
  • -m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块。
  • -M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。
  • -n 不把网络地址转换成名字。
  • -N 不输出主机名中的域名部分。例如,link.linux265.com 只输出link
  • -t 在输出的每一行不打印时间戳。
  • -O 不运行分组分组匹配(packet-matching)代码优化程序。
  • -P 不将网络接口设置成混杂模式。
  • -q 快速输出。只输出较少的协议信息。
  • -r 从指定的文件中读取包(这些包一般通过-w选项产生)。
  • -S 将tcp的序列号以绝对值形式输出,而不是相对值。
  • -s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。
  • -T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;)。
  • -t 不在每一行中输出时间戳。
  • -tt 在每一行中输出非格式化的时间戳。
  • -ttt 输出本行和前面一行之间的时间差。
  • -tttt 在每一行中输出由date处理的默认格式的时间戳。
  • -u 输出未解码的NFS句柄。
  • -v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。
  • -vv 输出详细的报文信息。
  • -w 直接将分组写入文件中,而不是不分析并打印出来。
  • -x 以16进制数形式显示每一个报文 (去掉链路层报头) . 可以显示较小的完整报文, 否则只显示snaplen个字节.
  • -xx 以16进制数形式显示每一个报文(包含链路层包头)。
  • -X 以16进制和ASCII码形式显示每个报文(去掉链路层报头)。
  • -XX 以16进制和ASCII吗形式显示每个报文(包含链路层报头)。
  • -y 设置tcpdump 捕获数据链路层协议类型
  • -Z 使tcpdump 放弃自己的超级权限(如果以root用户启动tcpdump, tcpdump将会有超级用户权限), 并把当前tcpdump的用户ID设置为user, 组ID设置为user首要所属组的ID

常用选项参数

-c:收到指定的数据包数目后,就停止进行抓取;
 
-w:把数据包数据写入指定的文件。
 
-e:输出链路层头部信息;
 
-i:指定抓取的网卡,默认是0号网络接口,any表示所有接口
 
-nn:不解析IP地址和端口号的名称;
 
-tttt:在每一行中输出由date处理的默认格式的时间戳;
 
-v:详细显示指令执行过程;
 
-vv:更详细显示指令执行过程;
 
-x:用十六进制字码列出数据包资料;

img

img

tcpdump 命令使用示例

linux系统下执行tcpdump命令需要root账号或者具备sudo权限的账号,否则执行tcpdump命令说,系统会提示tcpdump: no suitable device found

在下面的例子中,-i eth0 参数表示只抓取 eth0 接口数据包,不加-i eth0 是表示抓取所有的接口包括 lo

01、抓取所有网络包,并在terminal中显示抓取的结果,将包以十六进制的形式显示。

tcpdump

02、抓取所有的网络包,并存到 result.cap 文件中。

tcpdump -w result.pcap

03、抓取所有的经过eth0网卡的网络包,并存到result.cap 文件中。

tcpdump -i eth0 -w result.pcap

04、抓取源地址是192.168.1.100的包,并将结果保存到 result.cap 文件中。

tcpdump src host 192.168.1.100 -w result.pcap

05、抓取地址包含是192.168.1.100的包,并将结果保存到 result.cap 文件中。

tcpdump host 192.168.1.100 -w result.pcap

06、抓取目的地址包含是192.168.1.100的包,并将结果保存到 result.cap 文件中。

tcpdump dest host 192.168.1.100 -w result.pcap

07、抓取主机地址为 192.168.1.100 的数据包

tcpdump -i eth0 -vnn host 192.168.1.100

08、抓取包含192.168.1.0/24网段的数据包

tcpdump -i eth0 -vnn net 192.168.1.0/24

09、抓取网卡eth0上所有包含端口22的数据包

tcpdump -i eth0 -vnn port 22

10、抓取指定协议格式的数据包,协议格式可以是「udp,icmp,arp,ip」中的任何一种,例如以下命令:

tcpdump udp  -i eth0 -vnn

11、抓取经过 eth0 网卡的源 ip 是 192.168.1.100 数据包,src参数表示源。

tcpdump -i eth0 -vnn src host 192.168.1.100

12、抓取经过 eth0 网卡目的 ip 是 192.168.1.100 数据包,dst参数表示目的。

tcpdump -i eth0 -vnn dst host 192.168.1.100

13、抓取源端口是22的数据包

tcpdump -i eth0 -vnn src port 22

14、抓取源ip192.168.1.100 且目的ip端口是22的数据包

tcpdump -i eth0 -vnn src host 192.168.1.100 and dst port 22

15、抓取源ip``192.168.1.100``22

tcpdump -i eth0 -vnn src host 192.168.1.100 or port 22

16、抓取源ip``192.168.1.100``22

tcpdump -i eth0 -vnn src host 192.168.1.100 and not port 22

17、抓取源ip192.168.1.100且目的端口是22,或源ip192.168.1.102且目的端口是80的数据包。

tcpdump -i eth0 -vnn ( src host 192.168.1.100 and dst port 22 ) or ( src host 192.168.1.102 and dst port 80 )

18、把抓取的数据包记录存到/tmp/result文件中,当抓取100个数据包后就退出程序。

tcpdump –i eth0 -vnn -w /tmp/result -c 100

19、从/tmp/result记录中读取tcp协议的数据包

tcpdump -i eth0  tcp  -vnn -r /tmp/result

20、想要截获所有192.168.1.100的主机收到的和发出的所有的数据包:

tcpdump host 192.168.1.100

21、如果想要获取主机192.168.1.100除了和主机192.168.1.101之外所有主机通信的ip包,使用命令:

tcpdump ip host 192.168.1.100 and ! 192.168.1.101

22、如果想要获取主机 192.168.1.100 接收或发出的 telnet 包,使用如下命令:

tcpdump tcp port 23 host 192.168.1.100

Wireshark 分析

说了这么多,你应该也发现了,tcpdump 虽然功能强大,但是输出的格式并不直观。

所以,在工作中 tcpdump 只是用来抓取数据包,不用来分析数据包,而是把 tcpdump 抓取的数据包保存成 pcap 后缀的文件,接着用 Wireshark 工具进行数据包分析。

Wireshark 除了可以抓包外,还提供了可视化分析网络包的图形页面,同时,还内置了一系列的汇总分析工具。

比如,拿上面的 ping 例子来说,我们可以使用下面的命令,把抓取的数据包保存到 ping.pcap 文件

tcpdump -c 10 host 39.156.66.10 -w ping.pcap

接着把 ping.pcap 文件拖到电脑,再用 Wireshark 打开它。打开后,你就可以看到下面这个界面:

image-20240306203244795

是吧?在 Wireshark 的页面里,可以更加直观的分析数据包,不仅展示各个网络包的头部信息,还会用不同的颜色来区分不同的协议,由于这次抓包只有 ICMP 协议,所以只有紫色的条目。

接着,在网络包列表中选择某一个网络包后,在其下面的网络包详情中,可以更清楚的看到,这个网络包在协议栈各层的详细信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1513165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文带你详解天池医疗数据集

医疗作为和民生健康息息相关的产业,通过天池大赛开放出一批有临床科研价值的数据集,涵盖了预防、辅诊、医学科研等主题。 与此同时,阿里云天池平台也积极推动产学研的共同进步,开源了多个本地生活领域的数据集,如aBea…

(含代码)利用TensorRT的8位PTQ将Stable Diffusion速度提高 2 倍

利用TensorRT的8位PTQ将Stable Diffusion速度提高 2 倍 在生成人工智能的动态领域中,扩散模型脱颖而出,成为生成带有文本提示的高质量图像的最强大的架构。 像稳定扩散这样的模型已经彻底改变了创意应用。 然而,由于需要迭代去噪步骤&#x…

vulhub靶场-Jangow

下载&部署 下载 下载链接: https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 点击下载即可 部署 因为源虚拟机是从virtualbox导出的,为了避免繁琐的操作步骤,用virtualbox来导入 virtualbox下载地址: https:…

2021年1月1日起四川启动食品经营许可与备案电子证书办理

12月25日,四川省市场监督管理局、四川省大数据中心发布《关于启用食品经营许可登记电子证书的公告》(以下简称《公告》)。 《公告》显示,为贯彻落实《食品经营许可证管理办法》、《四川省小食品作坊、小经营店、商贩管理规定》和国…

常见面试题之计算机网络

1. OSI 五层模型(或七层模型)是什么,每一层的作用是什么 应用层:又可细分为应用层、表示层、会话层。其中应用层主要做的工作就是为应用程序提供服务,常见的协议为 HTTP、HTTPS、DNS等;表示层主要做的工作…

PXE自动化安装操作系统

一、PXE基本介绍 PXE,全名Pre-boot Execution Environment,预启动执行环境; 通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已安装的操作系统; 由Intel和Systemsoft公司于1999年9月…

通过一篇文章让你了解什么是函数栈帧

函数栈帧的创建和销毁 前言一、什么是函数栈帧二、 理解函数栈帧能解决什么问题三、 函数栈帧的创建和销毁解析3.1 什么是栈3.2 认识相关寄存器和汇编指令相关寄存器eaxebxebpespeip 相关汇编命令 3.3 解析函数栈帧的创建和销毁3.3.1 预备知识3.3.2 函数的调用堆栈3.3.4 准备环…

*Javaweb -- MyBatis*

一:介绍: 1.MyBatis是一个优秀的 ①持久层 ②框架,用于简化JDBC的开发! ①:JAVAEE有三层的结构:表现层, 业务层, 持久层. 表现层代表的是页面的展示,业务层则指的是对于相关逻辑的处理, 而持久层, 指的则是对于数据进行持久化,保存在数据库当中. 持久层具体的来说就是负责…

宏碁又遭网络袭击,菲律宾分公司大量数据被盗

近日,宏碁(Acer)菲律宾公司方面证实,管理该公司员工考勤数据的第三方供应商遭遇网络攻击,部分员工数据被盗。 宏碁,中国台湾计算机硬件和电子产品制造商,以其电脑产品极具性价比而闻名。 据悉&a…

生成式AI来袭,FOSS全闪对象存储应时而生

AI大模型正飞速跃进,从引领文本生成革命的ChatGPT到开创文生视频新纪元的Sora,多模态交互技术连续迭代,促进了智算中心的快速落地。在这一过程中,算力的迅猛增长对存储系统提出了更高的要求和挑战。为满足这些日益增长的需求&…

3_springboot_shiro_jwt_多端认证鉴权_Redis缓存管理器.md

1. 什么是Shiro缓存管理器 上一章节分析完了Realm是怎么运作的,自定义的Realm该如何写,需要注意什么。本章来关注Realm中的一个话题,缓存。再看看 AuthorizingRealm 类继承关系 其中抽象类 CachingRealm ,表示这个Realm是带缓存…

【Linux】Centos7上安装MySQL5.7

目录 1.下载安装包2. 上传安装包3.将 mysql 解压到/usr/local/4.重命名5.创建mysql用户及用户组6. 进入 mysql 目录修改权限7. 安装依赖库8. 执行安装脚本9. 复制启动脚本到资源目录10. 拷贝 my.cnf,并赋予权限11. 配置环境变量12. 启动 mysqld13. 登录 MySQL&#…

深度解析:如何运用山海鲸可视化软件制作高效销售数据看板

在数字化时代,数据可视化已经成为企业决策和运营的重要工具。作为一名长期使用山海鲸可视化软件的资深用户,我深知其在制作销售数据可视化看板方面的优势。今天,我想分享一些我在使用山海鲸可视化软件制作销售数据可视化看板过程中的经验和感…

探索:C++继承中虚表与虚基表的内存存储

探讨:菱形虚拟继承的虚基表和虚表 在继承和多态里,总是能听到虚表、虚基表这样的词汇,没有洞悉其根本的人很容易将它们混淆,因此,我们对这两个“虚”“表”进行实践,来更好地理解它们。 通俗些说&#xf…

哪些行业实操会用到PMP的知识?

首先说项目管理适合那些行业。 项目管理覆盖的行业可以说非常广了,就我知道的,医疗啊,互联网啊,机械啊,建筑啊,金融啊,汽车啊,零售啊、广告啊等各行各业都是需要项目管理人员的。 …

H5简约星空旋转引导页源码

源码名称:H5简约星空旋转引导页 源码介绍:一款带有星空旋转背景特效的源码,带有四个按钮 需求环境:H5 下载地址: https://www.changyouzuhao.cn/11655.html

32x4点阵式LCD驱动芯片/抗干扰段码屏驱动/仪器仪表液晶驱动IC- VK1C21A/B SSOP48/LQFP48 COG

产品型号:VK1C21A/B 产品品牌:永嘉微电/VINKA 封装形式:SSOP48/LQFP48 可定制裸片:DICE(COB邦定片);COG(邦定玻璃用) 工程服务,技术支持! 概述: VK1C21A/B是一个点阵式存储映射…

一个简单的微信小程序表单提交样式模板

没什么东西&#xff0c;只是方便自己直接复制使用 .wxml <view class"box"><form bindsubmit"formSubmit"><view class"form-item"><text class"head">姓名&#xff1a;</text><input class"…

目标跟踪SORT算法原理浅析

SORT算法 Simple Online and Realtime Tracking(SORT)是一个非常简单、有效、实用的多目标跟踪算法。在SORT中&#xff0c;仅仅通过IOU来进行匹配虽然速度非常快&#xff0c;但是ID switch依然非常严重。 SORT最大特点是基于Faster RCNN的目标检测方法&#xff0c;并利用卡尔…

阿里又又发布了一个“AI神器”

阿里给“打工”朋友送上“节日礼物” 六一儿童节当天&#xff0c;阿里就给所有“打工”的大朋友送上了一份“节日礼物” 6月1日上午&#xff0c;阿里云发布了面向音视频内容的AI新品“通义听悟”&#xff0c;并正式公测 通义千问、通义听悟 这哥俩现在所处环境不同&#xff0…