==

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

==

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

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

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

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

?

1
2
3
4
5
# 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,看看里面都是什么东东?

?

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

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

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

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

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

?

1
2
3
4
5
6
7
8
# 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://blog.51cto.com/358845/1693618

《神探tcpdump第四招》-linux命令五分钟系列之三十八相关推荐

  1. 《神探tcpdump第五招》-linux命令五分钟系列之三十九

    == [系列文章] <神探tcpdump第一招>-linux命令五分钟系列之三十五 <神探tcpdump第二招>-linux命令五分钟系列之三十六 <神探tcpdump第 ...

  2. 《神探tcpdump第一招》-linux命令五分钟系列之三十五

    应 @GamerH2o 博友在微博上提的要求,tcpdump专题会写成一个小型系列文章,力求每篇小文中突出重点,讲解清晰,避免长篇累牍,大家必然昏昏欲睡了. 其实tcpdump就好像一个神探,它有着夜 ...

  3. 《作业控制系列》-“linux命令五分钟系列”之十

    很久没发这个系列了.一直在看perl.现在回归.因为发现所有的脚本的基础都是linux命令- === 通俗的讲,作业控制命令是用来控制一个一个任务的. 1 我想把updatedb命令(用于重新建立整盘 ...

  4. 《mount的艺术》-linux命令五分钟系列之十四

    在阅读本文之前,我假设你已经对Linux系统下的硬盘.光盘的设备命令规则有所了解,比如sda和sda1的关系,以及hda.sda.fd.cdrom等设备. === 1 我把U盘插到USB口上了,下一步 ...

  5. 《篡权的ss》-linux命令五分钟系列之三十一

    原文链接 本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc. === 上篇文章<和netstat说再见>中说到nets ...

  6. 《sed的流艺术之四》-linux命令五分钟系列之二十四

    [正文开始] 上文接<sed的流艺术之三>-linux命令五分钟系列之二十三 例十 如果设定了很多-e的command,它们的执行顺序是怎样的呢? [rocrocket@rocrocket ...

  7. 《service》-“linux命令五分钟系列”之二

    service命令,顾名思义,就是用于管理Linux操作系统中服务的命令. 1. 声明:这个命令不是在所有的linux发行版本中都有.主要是在redhat.fedora.mandriva和centos ...

  8. 《回答sort一例》-linux命令五分钟系列之二十八

    自从发布了sort命令之后,一位小同学问我关于文件名排序的问题,其实这些内容在sort的文章中都有涉及,只要好好读一遍,保证可以自己解决. 在此拿一实际例子再演示一次sort的神奇功能吧,最后一次哦: ...

  9. Linux命令:MySQL系列之十--MySQL用户和权限管理,mysql管理员密码重置

    MySQL用户账号包括:用户名@主机名 用户名:16个字符以内 主机:主机有以下几种表现方式 主机名: mysql IP地址: 172.16.90.111 网络地址:172.16.0.0/255.25 ...

最新文章

  1. [记录]CentOS搭建SVN服务器(主从同步)
  2. 从贫民到百万富翁转变的心理学基础
  3. juniper路由器主备路由引擎主机名配置
  4. How do I sort groups of data items?(WPF)
  5. spring security只要熟悉每个filter的作用和顺序
  6. Requests redirect
  7. keepalived架设简单高可用的nginx的web服务器   ----那些你不知道的秘密
  8. 购物车catslider简单的多商品分类滑动
  9. linux虚拟机发邮件给163邮件
  10. mysql实验报告4_数据库实验四实验报告
  11. 同文输入法 android,同文输入法
  12. 随机积分理论中的几何布朗运动——Brown Motion and Stochastic Process
  13. rust中slice panicked at 'byte index 5 is not a char boundary' 问题解决办法
  14. 为什么BAT公司宁愿花25K重新招人,也不愿花20K留住老员工?
  15. css不换行省略号 没作用,flex布局下,css设置文本不换行时,省略号不显示的解决办法...
  16. 批量创建Azure DevOps Server 的账户
  17. 瓷砖铺贴方法_5种常见的瓷砖铺贴以及施工方法介绍
  18. 【jQuery】 # jQuery选择器
  19. 2022年R1快开门式压力容器操作考试资料及R1快开门式压力容器操作考试总结
  20. 写一个阿里云DDNS Linux脚本

热门文章

  1. C语言 —— 关键字(C语言标准定义的32个关键字:auto、register、static、sizeof、signed、unsigned 、break 、 continue 、void)
  2. 贝塞尔曲线与CSS3动画、SVG和canvas的应用
  3. jquery ajaxSubmit
  4. 如何将Sql Server中的数据表导入到PowerDesigner中
  5. Spring Security(一):整合JWT
  6. centos7安装redmine3.4
  7. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解
  8. 团队-科学计算器-成员简介及分工
  9. 用异或来交换两个变量能提快速度是错误的
  10. ASP.net MVC基础