网络基本功(十七):细说tcpdump的妙用(上)

实践tcpdump命令,成为网络数据抓包高手 tcpdump抓包的使用 阅读详情

网络基本功(十七):细说tcpdump的妙用(上)

 

转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese

 

介绍

 

tcpdump命令最初设计用于观察TCP/IP性能问题,它是一个用于截取网络分组,并输出分组内容的工具。tcpdump可以将网络中传送的数据包的报文头完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and, or, not等逻辑语句来帮助用户去掉无用的信息。


更多信息

 

使用tcpdump:

 

Unix命令tee通常用来允许用户查看并记录Unix会话的输出。使用tcpdump结合tee加上-l选项来实现,命令格式如下:

bsd1# tcpdump -l  | tee outfile

另一种方式是通过-w选项直接将抓取数据写入文件中。之后通过tcpdump -r选项来读取。抓取数据可以输入:

bsd1# tcpdump -w rawfile

然后将raw文件转化成text文件:

bsd1# tcpdump -r rawfile   > textfile


tcpdump选项:

 

tcpdump选项可划分为四大类型:控制tcpdump程序行为,控制数据怎样显示,控制显示什么数据,以及过滤命令。

 

控制程序行为

这一类命令行选项影响程序行为,包括数据收集的方式。之前已介绍了两个例子:-r和-w。-w选项允许用户将输出重定向到一个文件,之后可通过-r选项将捕获数据显示出来。

 

如果用户知道需要捕获的报文数量或对于数量有一个上限,可使用-c选项。则当达到该数量时程序自动终止,而无需使用kill命令或Ctrl-C。下例中,收集到100个报文之后tcpdump终止:

bsd1# tcpdump -c100

 

如果用户在多余一个网络接口上运行tcpdump,用户可以通过-i选项指定接口。在不确定的情况下,可使用ifconfig –a来检查哪一个接口可用及对应哪一个网络。例如,一台机器有两个C级接口,xl0接口IP地址205.153.63.238,xl1接口IP地址205.153.61.178。要捕捉205.153.61.0网络的数据流,使用以下命令:


bsd1# tcpdump -i xl1

没有指定接口时,tcpdump默认为最低编号接口。



-p选项将网卡接口设置为非混杂模式。这一选项理论上将限制为捕获接口上的正常数据流——来自或发往主机,多播数据,以及广播数据。


-s选项控制数据的截取长度。通常,tcpdump默认为一最大字节数量并只会从单一报文中截取到该数量长度。实际字节数取决于操作系统的设备驱动。通过默认值来截取合适的报文头,而舍弃不必要的报文数据。


如果用户需截取更多数据,通过-s选项来指定字节数。也可以用-s来减少截取字节数。对于少于或等于200字节的报文,以下命令会截取完整报文:
bsd1# tcpdump -s200

更长的报文会被缩短为200字节。


控制信息如何显示

-a,-n,-N和-f选项决定了地址信息是如何显示的。-a选项强制将网络地址显示为名称,-n阻止将地址显示为名字,-N阻止将域名转换。-f选项阻止远端名称解析。下例中,从sloan.lander.edu (205.153.63.30) ing远程站点,分别不加选项,-a,-n,-N,-f。(选项-c1限制抓取1个报文)

bsd1# tcpdump -c1 host 192.31.7.130

tcpdump: listening on xl0

14:16:35.897342 sloan.lander.edu > cio-sys.cisco.com: icmp: echo request

bsd1# tcpdump -c1 -a host 192.31.7.130

tcpdump: listening on xl0

14:16:14.567917 sloan.lander.edu > cio-sys.cisco.com: icmp: echo request

bsd1# tcpdump -c1 -n host 192.31.7.130

tcpdump: listening on xl0

14:17:09.737597 205.153.63.30 > 192.31.7.130: icmp: echo request

bsd1# tcpdump -c1 -N host 192.31.7.130

tcpdump: listening on xl0

14:17:28.891045 sloan > cio-sys: icmp: echo request

bsd1# tcpdump -c1 -f host 192.31.7.130

tcpdump: listening on xl0

14:17:49.274907 sloan.lander.edu > 192.31.7.130: icmp: echo request

默认为-a选项。

 

-t和-tt选项控制时间戳的打印。-t选项不显示时间戳而-tt选项显示无格式的时间戳。以下命令显示了tcpdump命令无选项,-t选项,-tt选项的同一报文:

12:36:54.772066 sloan.lander.edu.1174 > 205.153.63.238.telnet: . ack 3259091394 win 8647 (DF)

sloan.lander.edu.1174 > 205.153.63.238.telnet: . ack 3259091394 win 8647 (DF)

934303014.772066 sloan.lander.edu.1174 > 205.153.63.238.telnet: . ack 3259091394 win 8647 (DF)


控制显示什么数据

可以通过-v和-vv选项来打印更多详细信息。例如,-v选项将会打印TTL字段。要显示较少信息,使用-q,或quiet选项。一下为同一报文分别使用-q选项,无选项,-v选项,和-vv选项的输出。

12:36:54.772066 sloan.lander.edu.1174 > 205.153.63.238.telnet: tcp 0 (DF)

12:36:54.772066 sloan.lander.edu.1174 > 205.153.63.238.telnet: . ack 3259091394 win 8647 (DF)

12:36:54.772066 sloan.lander.edu.1174 > 205.153.63.238.telnet: . ack 3259091394 win 8647 (DF) (ttl 128, id 45836)

12:36:54.772066 sloan.lander.edu.1174 > 205.153.63.238.telnet: . ack 3259091394 win 8647 (DF) (ttl 128, id 45836)


-e选项用于显示链路层头信息。上例中-e选项的输出为:

12:36:54.772066 0:10:5a:a1:e9:8 0:10:5a:e3:37:c ip 60:

sloan.lander.edu.1174 > 205.153.63.238.telnet: . ack 3259091394 win 8647 (DF)

0:10:5a:a1:e9:8是sloan.lander.edu中3Com卡的以太网地址,0:10:5a:e3:37:c是205.153.63.238中3Com卡的以太网地址。


-x选项将报文以十六进制形式dump出来,排除了链路层报文头。-x和-vv选项报文显示如下:

13:57:12.719718 bsd1.lander.edu.1657 > 205.153.60.5.domain: 11587+ A? www.microsoft.com. (35) (ttl 64, id 41353)

                         4500 003f a189 0000 4011 c43a cd99 3db2

                         cd99 3c05 0679 0035 002b 06d9 2d43 0100

                         0001 0000 0000 0000 0377 7777 096d 6963

                         726f 736f 6674 0363 6f6d 0000 0100 01

Linux网络抓包工具tcpdump 一、tcpdump介绍 tcpdump 是一个运行在命令行下的抓包工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。tcpdump 适用于大多数的类Unix系统操作系统(如linux,BSD等)。 二、安装&用法说明 2.1、安装 $ yum -y install tcpdump 2.2、用法说明 tcpdump采用命令行方式,它的命令格式为 tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interfac 阅读详情

相关推荐

tcpdump 精准分析vxlan网络

VXLAN本质上是一种隧道技术,在源网络设备与目的网络设备之间的IP网络上,建立一条逻辑隧道,将用户侧报文经过特定的封装后通过这条隧道转发。从用户的角度来看,接入网络的服务器就像是连接到了一个虚拟的二层交换机的不同端口上,可以方便地通信。我们知道,在云计算中,大部分overlay网络都是基于vxlan实现的,在一般云网络运维场景下,外层报文的三层头都是物理机(宿主机)的 ip 地址,虚拟机实际通信的源/目的 ip 地址都是被封装到了内层报文中,所以需要弄明白虚机的流量路径,所以抓包分析一下。

一名运维开发工程师的日常记录 1844

TCPDUMP(命令行操作)-抓包、筛选、高级筛选、过程文档记录

TCPDUMP No-GUI的抓包分析工具 Linux、Unix系统默认安装TCPdump—–抓包 抓包 默认只抓68个字节 tcpdump -i eth0 -s 0 -w file.pcap tcpdump -i eth0 port 22 读取抓包文件 Tcpdump -r file.pcap选项介绍-A 以ASCII格式打印出所有分组,并将链路层的头最小化

含笑 9万+

KEIL5编译报错L6200E:__stdout重定义问题分析与解决

本文深入分析KEIL5编译报错L6200E中__stdout重定义问题的根源,指出因未完整定义__stderr导致与标准库stdio_streams.o冲突。提供完整重定义标准流、启用MicroLIB库等解决方案,帮助开发者彻底解决Symbol multiply defined错误,提升嵌入式开发效率。

uran的专栏 954

计算机网络抓包工具——tcpdump详解

tcpdump是Linux里的字符界面的数据抓包分析软件。tcpdump是一个用于截取网络分组,并输出分组内容的工具。

m0_52165864的博客 4万+

Android malloc_debug实现原理及使用

2)设置 __libc_globals 对象中的 libc_globals.default_dispatch_table 和 current_dispatch_table 指向 malloc_dispatch_table,以后在 malloc 库函数里都会通过 GetDispatchTable(),这个函数就是返回的 current_dispatch_table 指针;MAX_FRAMES 表示被抓取的 frames 的数量,如果设为0, 表示在分配空间被释放时,不会抓取任何调用栈。

专注于系统快稳省领域 3743

与OpenClaw同类性质的AI智能体框架/工具汇总(小白友好)

OpenClaw的核心定位是「开源、本地优先、可执行真实任务的AI代理」,核心价值是让AI从“聊天”落地到“动手干活”(操控电脑/服务器、处理办公/系统任务)。结合这一核心,以下是同类性质的工具/框架,按「小白易上手程度」排序,每个产品重点说明和OpenClaw的异同、核心优势及适配场景,方便小白快速区分选择。

hy行者勇哥的博客 2108

Tcpdump命令详解

Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是不可少的。TcpDump是Linux中强大的网络数据采集分析工具之一。tcpdump可以根据使用者需求对网络上传输的数据包进行捕获的抓包工具,windows平台有wireshark等工具,tcpdump可以将网络中传输的数据包的“包头”全部捕获过来进行分析,其支持网络层、特定的传输协议、数据发送和接收的主机、网卡和端口的过滤,并提供and、or、not等语句进行逻辑组合捕获数据包或去掉不用的信息。......

qq_57377057的博客 4万+

Python爬虫实战:基于Scrapy与Playwright高效爬取人民网新闻数据

本文将详细介绍如何使用Python最新技术栈(Scrapy框架结合Playwright浏览器自动化工具)高效爬取人民网新闻数据。文章包含完整项目搭建、反反爬策略、数据解析存储以及性能优化等核心内容,提供可直接运行的代码示例,适合中高级Python开发者学习现代网络爬虫开发技术。python# 去除特殊空白字符。

2201_76125261的博客 1118

使用tcpdump 进行网络包分析

tcpdump介绍 tcpdump 是一个运行在命令行下的抓包工具。它允许用户拦截和显示发送或收到过网络连接到该计算机的TCP/IP和其他数据包。tcpdump 适用于 大多数的类Unix系统操作系统(如linux,BSD等)。类Unix系统的 tcpdump 需要使用libpcap这个捕捉数据的库就像 windows下的WinPcap。 在学习tcpdump前最好对基本网络的网络知识有

Daniel 的技术笔记 不积跬步无以至千里,不积小流无以成江海。 1万+

信息传输仿真:卫星通信系统仿真_(12).基于SystemVue的卫星通信仿真

SystemVue是Cadence公司开发的一款用于系统级设计和仿真的软件工具。它主要用于无线通信系统的设计和验证,特别是在卫星通信、雷达、射频和微波通信等领域。SystemVue提供了一个集成的环境,用户可以通过拖拽和连接各种预定义的模块来构建复杂的通信系统模型,从而进行性能分析和优化。

2401_87715305的博客 1370

Autosar入门_OS_5

os hook函数说明

u012406840的博客 399

tcpdump命令详解

本文介绍tcpdump的命令常用格式,参数详解和常见用法技巧范例,并有解决具体问题的实例。是全网最好的入门教程,从命令格式,参数说明,用法范例到解决问题实例,一步步深入说明。

wj31932的博客 13万+

华为OD机试真题 Java&Go 实现【优雅子数组】【100%通过率】【2022.11 Q4 新题】

如果一个数组中出现次数最多的元素出现大于等于K次,被称为K -优雅数组,k也可以被称为优雅阈值。例如,数组1,2,3,1、2,3,1,它是一个3-优雅数组,因为元素1出现次数大于等于3次,数组1,2,3,1,2就不是一个3-优雅数组,因为其中出现次数最多的元素是1和2,只出现了2次。给定一个数组A和k,请求出A有多少子数组是k-优雅子数组。

MISAYAONE的博客 1万+

细说tcpdump的妙用

tcpdump命令最初设计用于观察TCP/IP性能问题,它是一个用于截取网络分组,并输出分组内容的工具。tcpdump可以将网络中传送的数据包的报文头完全截获下来提供分析,它支持针对网络层、协议、主机、网络或端口的过滤,并提供and, or, not等逻辑语句来帮助用户去掉无用的信息。

勿忘初心 817

uniapp - 实现苹果App打包上架App Store应用商店详细教程,详解Hbuilder打包编译ipa发布上传到苹果ios软件商店全流程,提供云打包/离线本地打包ios、申请IOS苹果证书方法

uni-app,苹果ios,苹果app,打包编译,appstore应用商店,ipa发布到软件商店,uniapp的app苹果应用商店上架,上架苹果APPStore,uniApp打包的ipa文件上传到商店,上架苹果商城,审核失败,被拒绝,UniApp打包ipa文件,上架iOSAppStore流程指南,最新详细教程最全,Hbuilder打包发布iosapp,苹果云打包上线全过程,云打包IPA并上传到商店,打包iOSipa文件后怎么发布到应用商店,苹果证书申请教程,ios证书申请,mac电脑,审核很久

🏆 前端领域优质创作者 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

网络基本功(十八):细说tcpdump的妙用(下)

网络基本功(十八):细说tcpdump的妙用(下)   转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese      更多信息   (承接上文)   过滤:   要有效地使用tcpdump,掌握过滤器非常必要的。过滤允许用户指定想要抓取的数据流,从而用户可以专注于感兴趣的数据。此外,ethereal

mxway的专栏 1712

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

网络IO监控:tcpdump的使用技巧

tcpdump是网络状况分析和跟踪工具,是可以用来抓包的实用命令,使用前需要对TCP/IP有所熟悉,因为过滤使用的信息都是TCP/IP格式。在大多数Linux发行版中,可以通过包管理器安装tcpdump。在Windows上,可以通过WinDump(tcpdump的Windows版本)进行安装。WinDump 与 tcpdump 完全兼容,可用于根据各种复杂规则监视、诊断和保存到磁盘网络流量。它可以在 Windows 95、98、ME、NT、2000、XP、2003 和 Vista 下运行。

Lion_Long的博客 2087

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

网络基本功(一):细说网络传输(图文详解)

转载请在文首保留原文出处:EMC中文支持论坛https://community.emc.com/go/chinese 转载自:https://wizardforcel.gitbooks.io/network-basic/0.html 介绍 常言道:欲练神功,必先练好基本功。之前做了一个关于IP路由,默认网关和掩码的问答贴,做完这个帖子觉得如果对网络知识点做一个系统的阐述,应该会很有帮助。 本系列文...

AI架构师易筋 1958

TCPDump抓包命令详解:网络分析的强大工具

在网络管理和故障排除中,实时监控和分析网络流量是至关重要的。TCPDump 是一个强大的命令行工具,它允许用户捕获和分析通过网络接口的原始数据包。本文将详细介绍如何在 CentOS 操作系统中安装和使用 TCPDump,以及如何通过它来诊断和解决网络问题。

xmp65535的博客 3233

网络安全之tcpdump工具

给小伙伴们的意见是想清楚,自学网络安全没有捷径,相比而言系统的网络安全是最节省成本的方式,因为能够帮你节省大量的时间和精力成本。坚持住,既然已经走到这条路上,虽然前途看似困难重重,只要咬牙坚持,最终会收到你想要的效果。黑客工具&SRC技术文档&PDF书籍&web安全等(可分享)网络安全产业就像一个江湖,各色人等聚集。

2401_88326437的博客 1961
上一篇: 网络基本功(十六):细说网络性能监测与实例(下)
下一篇: 网络基本功(十八):细说tcpdump的妙用(下)
mxway
博客等级 码龄17年 370粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值