无关痛痒的參数就不写了。仅仅说一些我觉得值得注意的。

1 tcpdump參数

-s 最早在公司旧机器上截包时发现总是不完整,于是知道了这个參数,之后就一直用-s0了。近期一次在家里,忘记输入-s发现包居然还是完整的,赶紧用man查询了下,人家说的非常明确缺省值是“65535 bytes”,这下把我搞蒙了。终于才发现,原来至少在4.1之后的tcpdump使用的缺省值都是65535了,公司的tcpdump是3.9缺省值是96字节。所以如今网上资料里普遍提到的"默认tcpdump抓包限制大小在96个byte"是非常古老的说法了,至少在2012年的版本号里,其缺省值已经变成65535。

-l 仅仅有在使用管道或者输出重定向会用到它,在这样的情况下必须加上这个參数,它能保每行内容都会被及时输出给后端。

-w 保存成文件,尽管直接使用输出重定向">"也能够输出到文件,可是要注意,-w才干正确的保存成二进制格式,也就是wireshark能够查看的格式,而输出重定向仅仅是保存了16进制的文本。

-X 要看每一个包的16进制内容就必须使用这个參数,多数时候我都须要这个參数。

-i 指定网络接口,也就是ifconfig看到的最左面的名字“eth0, eth1, lo”,注意这个參数假设不加不代表抓取全部的接口,而是使用列表里最小的那个,最小的往往都不是我们希望使用的那个,所以这个參数差点儿也是必须的。

2 tcpdump表达式

这种表达式过滤数据很方便,能够通过头部内容过滤,基本上是使用这种格式 proto[index:length] (proto是协议名不限于ip/tcp,index是以0为开头的字节数,length是从开头往后跨越的字节数),通过简单的算术运算和布尔运算,差点儿能够对不论什么条件进行筛选了。尽管能够用tcp[tcpflags] & tcp-push这种命名式写法,但个人认为还是数字然后配合ip/tcp结构图更方便,由于我怎样在不查资料的情况下知道应该写成“tcp[tcpflags] & tcp-push”还是"tcp[tcpflags]
& push"呢?多了个命名就多了一个查询的步骤。附带几个样例:

//仅仅显示目的端口是20835的push包
tcpdump 'tcp[13] & 8 != 0 && dst prot 20835' -i eth1 -nn -X //0x4745 为字母"GE"(GET),0x4854 为字母"HT"(HTTP),这样的方式仅仅显示HTTP相关的包(某博客学来)
tcpdump "tcp[20:2]=0x4745 or tcp[20:2]=0x4854" -i eth1 -nn -X //仅仅显示有数据的包,SYN,FIN和纯粹的ACK会被过滤掉(man学来的)
tcpdump "tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)" -i eth1 -nn -X

3 定位应用层数据

这块内容在之前的文章"给tcpdump加点颜色"已经提及,要找到应用层数据的开头,注意以下3点

1 IP头和TCP头都是可变长度,实际使用中来说,我非常少遇到IP头的选项部分,但TCP可选项常常使用。

2 IP头的长度位于第一个字节的高地址部分,TCP头的长度位于第13个字节的低地址部分

3 表示长度的单位都是4字节。

附图:wikipedia IPv4 TCP

tcpdump重要笔记的更多相关文章

  1. TCPDUMP学习笔记。

    1.启动 普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包,注意这里使用超级用户.当用户上网得时候,就会将监视得数据打印出来. 我没使用root用户,结果输入tcpdump命令 ...

  2. tcpdump学习笔记

    简介     简单的说,tcpdump就是一个抓包工具,类似Wireshark.     tcpdump可以根据使用者的定义过滤/截取网络上的数据包,并进行分析.tcpdump可以将数据包的头部完全接 ...

  3. tcpdump实用笔记

    前言:本文是关于tcpdump抓包的文章,是一篇对于本人而言比较实用轻便的文章,如您需要更详细的介绍,以下链接的文章相比最适合您,而且网络知识要非常扎实才能理解透彻: tcpdump详细介绍 简介:用 ...

  4. wireshark、tcpdump使用笔记

    最近使用wireshark抓包icmp协议,过滤的命令如下所示: ip.addr eq 192.168.20.54 and ip.addr eq 192.168.50.131 and (icmp) 如 ...

  5. tcpdump 的正确食用方法

    目录 tcpdump 使用笔记 重要报文头 字段表 ip header tcp header 基础使用 高级版本 指定ttl(通过ttl能够确定系统的类型) tcpdump 使用笔记 重要报文头 字段 ...

  6. tcpdump dns包(linux高性能编程读书笔记2)

      tcpdump -i eth0 -nt -s 500 port domain host -t A www.baidu.com www.baidu.com is an alias for www.a ...

  7. Kali学习笔记3:TCPDUMP详细使用方法

    Kali自带Wireshark,但一般的Linux系统是不带的,需要自行下载,并且过程略复杂 而纯字符界面的Linux系统无法使用Wireshark 但是,所有Linux系统都会安装TCPDUMP:一 ...

  8. tcpdump抓包笔记

    抓取指定端口的数据包 并保存文件,用wireshark分析 tcpdump -Ans 4096 -i any port 8080 -w ../mpass.cap 抓取指定端口和指定ip的数据包 并保存 ...

  9. tcpdump笔记

    最好的学习: man tcpdump ....... 一.TCPdump抓包命令  tcpdump是一个用于截取网络分组,并输出分组内容的工具.tcpdump凭借强大的功能和灵活的截取策略,使其成为类 ...

随机推荐

  1. 【ICM Technex 2018 and Codeforces Round #463 (Div. 1 + Div. 2, combined) C】 Permutation Cycle

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] p[i] = p[p[i]]一直进行下去 在1..n的排列下肯定会回到原位置的. 即最后会形成若干个环. g[i]显然等于那个环的大 ...

  2. 已知二叉树的中序序列为DBGEAFC,后序序列为DGEBFCA,给出相应的二叉树

    面对这种问题时我们该怎么解决? 今天写数据结构题.发现了一道总是碰见问题的题在这里我写了一种求解方法我自己称它为分层递归求解. 第一步通过观察我们知道后序遍历时最后一个是根节点A 在中序序列中A的左边 ...

  3. iBatis框架使用 4步曲

    iBatis是一款使用方便的数据訪问工具,也可作为数据持久层的框架.和ORM框架(如Hibernate)将数据库表直接映射为Java对象相比.iBatis是将SQL语句映射为Java对象. 相对于全自 ...

  4. 仿即刻app"猜你喜欢"切换控件

    最近在即刻里看到即刻的"猜你喜欢"的板块,觉得效果很赞. 当点击"换一换"时,上面三个条目程序切换效果,并且三个条目的切换以不同的速度进行. 于是开始想办法撸出 ...

  5. NARF(Normal Aligned Radial Feature)关键点

    NARF(Normal Aligned Radial Feature)关键点是为了从深度图像中识别物体而提出的,对NARF关键点的提取过程有以下要求: a) 提取的过程考虑边缘以及物体表面变化信息在内 ...

  6. Fishing Net

    In a highly modernized fishing village, inhabitants there make a living on fishery. Their major tool ...

  7. Flex4之事件详解

    第一.Flex事件简介 事件贯穿于Flex应用开发的全过程.事件是ActionScript .0中最重要的部分之一,也是Flex应用程序开发的核心基础.本章将在DOM 3的基础上详细讲解ActionS ...

  8. BZOJ2690: 字符串游戏(平衡树动态维护Dfs序)

    Description 给定N个仅有a~z组成的字符串ai,每个字符串都有一个权值vi,有M次操作,操作分三种: Cv x v':把第x个字符串的权值修改为v' Cs x a':把第x个字符串修改成a ...

  9. 51nod 编辑距离 + 滚动数组优化

    这道题一开始觉得增加和删除会移动字符串的位置很不好做 两个字符串dp状态一般是第一个前i个和第二个前j个 #include<cstdio> #include<algorithm> ...

  10. CSDN博客给我带来的一些诱惑和选择机会(二):HR“邀请于我”,猎头“有求于我”

    上次,2013年10月8日 ,分享了一篇颇具"正能量"的文章CSDN博客给我带来的一些诱惑和选择机会,获得了很好的正面效果. 10月份,又发生了很多有趣.有意义的事情. 其中,有一 ...