我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux中如何使用wireshark分析tcpdump抓取的数据包

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux中如何使用wireshark分析tcpdump抓取的数据包

这篇文章将为大家详细讲解有关Linux中如何使用wireshark分析tcpdump抓取的数据包,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

很多时候我们的系统部署在Linux系统上面,在一些情况下定位问题就需要查看各个系统之间发送数据报文是否正常,下面就简单讲解一下如何使用wireshark分析tcpdump抓取的数据包。网络数据包截获分析工具。支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句帮助去除无用的信息。

首先,通过yum查看tcpdump和wireshark所需要的软件包

[root@wjq2 ~]# yum search tcpdump

Loaded plugins: product-id,refresh-packagekit, security, subscription-manager

This system is not registeredto Red Hat Subscription Management. You can use subscription-manager toregister.

================================================N/S Matched: tcpdump =================================================

tcpdump.x86_64 : A network traffic monitoring tool

  Name and summary matches only, use"search all" for everything.

[root@wjq2 ~]# yum searchwireshark

Loaded plugins: product-id,refresh-packagekit, security, subscription-manager

This system is not registeredto Red Hat Subscription Management. You can use subscription-manager toregister.

===============================================N/S Matched: wireshark ================================================

wireshark-gnome.x86_64 : Gnome desktop integration for wiresharkand wireshark-usermode

wireshark.i686 : Network traffic analyzer

wireshark.x86_64 : Network traffic analyzer

  Name and summary matches only, use"search all" for everything.

查看tcpdump和wireshark的软件包是否安装,可以发现,tcpdump已经安装,wireshark没有安装

[root@wjq2 ~]# rpm -qa|grepwireshark

[root@wjq2 ~]# rpm -qa | greptcpdump

tcpdump-4.0.0-3.20090921gitdf3cb4.2.el6.x86_64

使用yum安装wireshark

[root@wjq2 tmp]# yum installwireshark* -y

[root@wjq2 tmp]# which tcpdump

/usr/sbin/tcpdump

[root@wjq2 tmp]# which wireshark

/usr/sbin/wireshark

下面对tcpdump命令的使用做一个详细的说明

tcpdump的命令格式

tcpdump的参数众多,通过man tcpdump或tcpdump -h可以查看tcpdump的详细说明,这边只列一些自己常用的参数:

[root@wjq2 tmp]# tcpdump -h

tcpdump version4.1-PRE-CVS_2012_02_01

libpcap version 1.0.0

Usage: tcpdump[-aAdDefIKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]

                [ -C file_size ] [ -Ealgo:secret ] [ -F file ] [ -G seconds ]

                [ -i interface ] [ -M secret ][ -r file ]

                [ -s snaplen ] [ -T type ] [ -wfile ] [ -W filecount ]

                [ -y datalinktype ] [ -zcommand ] [ -Z user ]

                [ expression ]


tcpdump [-i 网卡] -nnAX '表达式'

各参数说明如下:

-i:interface 监听的网卡。

-nn:表示以ip和port的方式显示来源主机和目的主机,而不是用主机名和服务。

-A:以ascii的方式显示数据包,抓取web数据时很有用。

-X:数据包将会以16进制和ascii的方式显示。

表达式:表达式有很多种,常见的有:host 主机;port 端口;class="lazy" data-srchost 发包主机;dst host 收包主机。多个条件可以用and、or组合,取反可以使用。

下面是一些使用的例子

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


tcpdump

(2)监听特定网卡


tcpdump -i eth0

(3)监听特定主机:监听本机跟主机10.1.1.123之间往来的通信包。

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

tcpdump host 10.1.1.123

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

特定来源


tcpdump class="lazy" data-src host  hostname

特定目标地址


tcpdump dst host  hostname

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


tcpdump host  hostname

(5)特定端口


tcpdump port 3000

(6)监听TCP/UDP

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

tcpdump tcp

(7)来源主机+端口+TCP

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


tcpdump tcp port  22 and class="lazy" data-src host 123.207.116.169

B、监听特定主机之间的通信


tcpdump ip host  210.27.48.1 and 210.27.48.2

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


tcpdump ip host  210.27.48.1 and ! 210.27.48.2

(8)稍微详细点的例子


tcpdump tcp -i  eth2 -t -s 0 -c 100 and dst port ! 22 and class="lazy" data-src net 192.168.1.0/24 -w  ./target.cap

说明:

tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型

-i eth2 : 只抓经过接口eth2的包

-t : 不显示时间戳

-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包

-c 100 : 只抓取100个数据包

dst port ! 22 : 不抓取目标端口是22的数据包

class="lazy" data-src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24

-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

(9)限制抓包的数量

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


tcpdump -c 1000

(10)保存到本地

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


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

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

(11)保存tcpdump抓包结果

[root@wjq2 tmp]# tcpdump -i eth0 -weth0_dump.pcap

tcpdump: WARNING: eth0: noIPv4 address assigned

tcpdump: listening on eth0,link-type EN10MB (Ethernet), capture size 65535 bytes

^C39 packets captured

39 packets received by filter

0 packets dropped by kernel

[root@wjq2 tmp]# ll -heth0_dump.pcap

-rw-r--r-- 1 root root 3.4KJan 18 11:19 eth0_dump.pcap

使用wireshark分析抓取的数据包:

[root@wjq2 tmp]# wireshark eth0_dump.pcap

Linux中如何使用wireshark分析tcpdump抓取的数据包

上图中标出三快区域:

红色框内,是用来显示简单的数据包信息,用tcpdump抓包如时候,默认情况是显示成这样的;

绿色框内,是用来显示选中的数据包的详细信息,是按照TCP/IP四层结构显示的,第一行是数据链路层的信息,第二行是网络层信息(IP协议),第三行是传输层信息(TCP协议),第四层是应用层信息(HTTP协议),可以展开第一行用来观察具体的内容;

蓝色框中,是用来显示此数据包的真实面目。(下图列更清楚一些)

Linux中如何使用wireshark分析tcpdump抓取的数据包

关于Linux中如何使用wireshark分析tcpdump抓取的数据包就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux中如何使用wireshark分析tcpdump抓取的数据包

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux中如何使用wireshark分析tcpdump抓取的数据包

这篇文章将为大家详细讲解有关Linux中如何使用wireshark分析tcpdump抓取的数据包,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。很多时候我们的系统部署在Linux系统上面,在一
2023-06-06

Android中使用tcpdump、wireshark进行抓包并分析技术介绍

本文主要介绍如何使用tcpdump和wireshark对Android应用程序进行抓包并分析,需要说明的是在抓包之前,你的Android设备必须root过了,另外你的电脑必须有Android SDK环境。 下载并安装tcpdump tcp
2022-06-06

linux中tcpdump抓取HTTP包的示例分析

这篇文章将为大家详细讲解有关linux中tcpdump抓取HTTP包的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。tcpdumptcpdump是linux系统自带的抓包工具,主要通过命令行的方式
2023-06-10

wireshark工具详解、数据包抓取分析、使用教程

Wireshark界面 Wireshark查看数据捕获列表 数据包概要信息窗口:描述每个数据包的基本信息。如图,点击某行数据,即可在下方显示该数据包的信息。 1、数据包解析窗口:显示被选中的数据包的解析信息,包含每个数据包的整体信息、数
2023-08-23

如何在linux系统中使用tcpdump抓包工具

本篇文章给大家分享的是有关如何在linux系统中使用tcpdump抓包工具,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1.1 tcpdump选项它的命令格式为:tcpdump
2023-06-13

linux中如何使用tcpdump查看原始数据包

这篇文章给大家分享的是有关linux中如何使用tcpdump查看原始数据包的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。尽管Snort之类的工具在筛选通过我们的网络而来的所有内容方面做得非常出色,但有时必须要查看
2023-06-15

在Linux中使用tcpdump命令捕获与分析数据包详解

前言 tcpdump 是一个有名的命令行数据包分析工具。我们可以使用 tcpdump 命令捕获实时 TCP/IP 数据包,这些数据包也可以保存到文件中。之后这些捕获的数据包可以通过 tcpdump 命令进行分析。tcpdump 命令在网络层
2022-06-04

PHP中如何使用parse_url函数分析信息抓取

PHP中如何使用parse_url函数分析信息抓取,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。测试PHP preg_match()函数信息泄露方法介$url = "htt
2023-06-17

在 Linux 命令行中使用 tcpdump 命令分析网络数据

本文介绍了 tcpdump 命令的一些常见用法,希望可以帮助大家对该命令有一个大致的了解。

如何使用Airpydump实时分析无线网络数据包

当前版本的airpydump支持三种工作模式,即读取模式、实时模式和隐蔽模式。读取模式用于通过airodump、wireshark或airpydump在安全研究的早期阶段读取已写入的捕获文件。如果你正在执行某些任务,不想看到实时流量,只想在

如何使用Python爬取历年高考数据并分析

这篇文章给大家分享的是有关如何使用Python爬取历年高考数据并分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。开发工具**Python版本:**3.6.4相关模块:pyecharts模块;以及一些Python
2023-06-15

如何使用Python中的数据分析库进行数据处理

如何使用Python中的数据分析库进行数据处理人们越来越重视数据处理和分析的重要性。随着电子设备的不断普及和互联网的发展,我们每天都会产生大量的数据。要从这些海量的数据中提取有用的信息和洞察,就需要使用强大的工具和技术。Python作为一种
2023-10-22

如何使用Spark分析云HBase的数据

这篇文章将为大家详细讲解有关如何使用Spark分析云HBase的数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 云HBase查询分析的现状HBase原生API:HBase原生API适合基于row k
2023-06-02

如何使用PDO获取MySQL数据库中的数据

使用PDO获取MySQL数据库中的数据有以下几个步骤:建立数据库连接:$host = 'localhost';$dbname = 'my_database';$username = 'm
如何使用PDO获取MySQL数据库中的数据
2024-04-29

如何使用Java获取Json中的数据

这篇文章主要介绍“如何使用Java获取Json中的数据”,在日常操作中,相信很多人在如何使用Java获取Json中的数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Java获取Json中的数据”的疑
2023-07-06

编程热搜

目录