神探tcpdump第四招

2023-10-15 13:10
文章标签 tcpdump 神探 第四招

本文主要是介绍神探tcpdump第四招,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

本文会是“选项内容”的最后一期讲解,主要会讲讲-w和-r两个选项。tcpdump的选项很多,多达50个,其他我没有涉及的选项,还是要大家自己通过man tcpdump的方式来学习了。实在研究不懂的,可以找我探讨:)

    ==

    做过网络流量分析的同学,或许都有一个共同的需求,那就是“流量保存”和“流量回放”,这就恰好对应了今天要讲解的-w选项和-r选项。

    “流量保存”就是把抓到的网络包能存储到磁盘上,保存下来,为后续使用。

    “流量回放”就是把历史上的某一时间段的流量,重新模拟回放出来,用于流量分析。

    【-w选项】- 将流量保存到文件中

# tcpdump -i eth0 -w flowdata
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
^C327 packets captured
327 packets received by filter
0 packets dropped by kernel

    通过上面的例子可以看到,通过-w选项将流量都存储在了flowdata文件中了。大家是否有兴趣less下flowdata,看看里面都是什么东东?

# less flowdata
"flowdata" may be a binary file. See it anyway?

    悲剧,原来都是二进制格式的,无法直接通过文本方式查看。嗯,买了个关子,把真像告诉大家吧!

    tcpdump的-w方式是把raw packets(原始网络包)直接存储到文件中了,也就是存储的都是结构体形式,而非是分析之后的文本格式的信息,因此大家是无法直接通过less命令查看的。

    那么,怎么查看呢?大家想必也想到了,就是用-r选项。

    【-r选项】- 读取raw packets文件

# tcpdump -r flowdata
reading from file flowdata, link-type EN10MB (Ethernet)
16:43:36.202443 IP 116.255.245.206.snapenetio > 61.135.169.73.52414: Flags [P.], seq 4082702792:4082702924, ack 3248983965, win 291, length 132
16:43:36.222033 IP 61.135.169.73.52414 > 116.255.245.206.snapenetio: Flags [.], ack 132, win 61, length 0
16:43:36.277407 IP 116.255.245.62 > ospf-all.mcast.net: OSPFv2, Hello, length 48
16:43:36.370846 ARP, Request who-has 116.255.245.203 tell 116.255.245.254, length 64
16:43:36.521947 ARP, Request who-has 116.255.245.203 tell 116.255.245.253, length 64
16:43:36.635472 ARP, Request who-has 116.255.245.214 tell 116.255.245.253, length 64

    其实上面的命令就是在不知不觉中进行了“流量回放”,你会发现网络包被“抓”的速度都按照历史进行了回放,真像一个“时光机”啊!

    由于是按raw packets来存储的,所以你完全可以使用-e、-l和过滤表达式来对输出信息进行控制,十分方便。

    ==

    预告,第五招开始,会讲解过滤表达式了,会比较有意思,敬请期待。

转载于:https://my.oschina.net/leejun2005/blog/77474

这篇关于神探tcpdump第四招的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/217923

相关文章

网络故障排查和tcpdump抓包

网络故障排查: ping一台服务器不通,你如何排查 检查本机ip地址设置  网关和dns服务器是否设置正确 或者ip地址冲突能否上网 看路由器是否有问题 ping服务器是否运行服务器禁止ping   防火墙设置 iptables -A INPUT -P ICMP -j DROPiptables -D INPUT -P ICMP -j DROP用户不能访问服务器 怎么排查 检查用户网络连接检查服

Linux - Tcpdump命令

一、说明    是一个用于抓取网络数据包并输出的工具,命令格式如下: tcpdump [ -AdDeflLnNOpqRStuUvxX ] [ -c count ][ -C file_size ] [ -F expr_file ][ -i interface ] [ -m module ] [ -M secret ][ -r read_file ] [ -s snaplen

通过GRE封装前的IP地址tcpdump抓包

GRE封装IP层数据后导致抓包抓的是GRE的包,直接抓包会很大,所以希望通过里层的IP来抓包。 如下的测试数据包,最外层IP对:172.27.1.66-66.59.109.137,封装了66.59.111.190-172.28.2.3的数据包。此时我们只想抓取66.59.111.190-172.28.2.3这个相关的数据包。 通过对IP层数据的偏移位置来直接匹配数据 找到IP层开始的位置

tcpdump抓取tcp的三次握手

tcpdump抓取tcp的三次握手 先要打开两个终端,打开root权限 输入 telnet www.baidu.com 80 查询一下IP号,然后输入ctrl+] 以及quit退出 administrator@ubuntu:~$ sudo su[sudo] password for administrator: root@ubuntu:/home/administrator#

tcpdump 命令详解

1、抓取回环网口的包:tcpdump -i lo 2、防止包截断:tcpdump -s0 3、以数字显示主机及端口:tcpdump -n 关键字说明  第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0是一个网络地址,port 23 指明端口号是

linux命令详解--tcpdump

http://www.tuicool.com/articles/26nmqy

linux 命令之tcpdump

tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤。并提供and、or、not等逻辑语句来删选去掉无用的信息。 tcpdump选项说明: -A 以ASCII格式打印出所有分组,并将链路层的头最小化-c 在收到指定的数量的分组后,tcpdump就会停止-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参

使用adb将tcpdump的流量导到wireshark

搭建环境 1、下载安 装adb 如果之前电脑里有装Android SDK,那么在 Android SDK 的 Tools 里面有 adb 工具, 将adb配到环境变量里 2、下载安装windows 端 netcat 工具 安装好后配到环境变量里 3、下载安装android 端 netcat 工具(手机要Root) 可以下载 Bu

Linux网络命令——tcpdump

tcpdump是Linux下的一个网络数据采集分析工具,也就是常说的抓包工具 tcpdump 核心参数 tcpdump [option] [proto] [dir] [type] 例如:$ tcpdump -i eth0 -nn -s0 -v port 80 option 可选参数: -i : 选择要捕获的接口,通常是以太网卡或无线网卡,也可以是 vlan 或其他特殊接口。如果该

tcpdump 命令对容器内的网络请求抓包的方法

记录一种在不进入容器的情况下对容器进行抓包的方法。 方法介绍 简单来说就是找到容器所用的网卡,然后在 host 机器上对该网卡进行抓包就可以了 :joy 操作示例 找到这个容器使用的网卡: $ PID=$(docker inspect --format {{.State.Pid}} test2)$ nsenter -n -t $PID ip addr1: lo: <LOOPBACK,U