CSDN|肝了三天,万字长文教你玩转 tcpdump,从此抓包不用愁( 六 )
本文插图&:是位运算里的 and 操作符 , 比如 0011 & 0010 = 0010 :是位运算里的右移操作 , 比如 0111 >> 2 = 0011 0xf0:是 10 进制的 240 的 16 进制表示 , 但对于位操作来说 , 10进制和16进制都将毫无意义 , 我们需要的是二进制 , 将其转换成二进制后是:11110000 , 这个数有什么特点呢?前面个 4bit 全部是 1 , 后面4个bit全部是0 , 往后看你就知道这个特点有什么用了 。
其实并不直观 , 但是我们将它换一种写法 , 就好看多了 , 假设 tcp 报文中的 第12 个字节是这样组成的 10110000 , 那么这个表达式就可以变成 10110110 && 11110000 = 10110000 , 得到了 10110000 后 , 再进入下一步 。 tcp[12:1] & 0xf0) >> 2 这个表达式实际是 (tcp[12:1] & 0xf0) >> 4 ) << 2 的简写形式 。 所以要搞懂 就行了。 从上一步我们算出了 tcp[12:1] & 0xf0 的值其实是一个字节 , 也就是 8 个bit , 但是你再回去看下上面的 tcp 报文首部结构图 , 表示数据偏移量的只有 4个bit , 也就是说 上面得到的值 10110000 , 前面 4 位(1011)才是正确的偏移量 , 那么为了得到 1011 , 只需要将 10110000 右移4位即可 , 也就是 tcp[12:1] & 0xf0) >> 4 , 至此我们是不是已经得出了实际数据的正确位置呢 , 很遗憾还没有 , 前一篇文章里我们讲到 Data Offset 的单位是 4个字节 , 因为要将 1011 乘以 4才可以 , 除以4在位运算中相当于左移2位 , 也就是 <<2 , 与前面的 >>4 结合起来一起算的话 , 最终的运算可以简化为 >>2 (单位是字节) 。 找到了数据的起点后 , 可别忘了我们的目的是从数据中打到 HTTP 请求的方法 , 是 GET 呢 还是 POST, 或者是其他的?有了上面的经验 , 我们自然懂得使用 tcp[((tcp[12:1] & 0xf0) >> 2):4] 从数据开始的位置再取出四个字节 , 然后将结果与 GET (注意 GET最后还有个空格)的 16进制写法(也就是 0x47455420)进行比对 。 0x47 --> 71 --> G0x45 --> 69 --> E0x54 --> 84 --> T0x20 --> 32 --> 空格
本文插图egrep 可以同时提取用户代理和主机名(或其他头文件):$ tcpdump -nn -A -s1500 -l | egrep -i 'User-Agent:|Host:'8.2 抓取 HTTP GET 和 POST 请求抓取 HTTP GET 请求包:$ tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'# or$ tcpdump -vvAls0 | grep 'GET'可以抓取 HTTP POST 请求包:$ tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'# or$ tcpdump -vvAls0 | grep 'POST'注意:该方法不能保证抓取到 HTTP POST 有效数据流量 , 因为一个 POST 请求会被分割为多个 TCP 数据包 。 8.3 找出发包数最多的 IP找出一段时间内发包最多的 IP , 或者从一堆报文中找出发包最多的 IP , 可以使用下面的命令:$ tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 208.4 抓取 DNS 请求和响应DNS 的默认端口是 53 , 因此可以通过端口进行过滤$ tcpdump -i any -s0 port 538.5 切割 pcap 文件当抓取大量数据并写入文件时 , 可以自动切割为多个大小相同的文件 。 例如 , 下面的命令表示每 3600 秒创建一个新文件
推荐阅读
- CSDN|由 Apache 说开,中国开源项目已经走向世界!
- 联想笔记本|全球首款骁龙865P机型三天后发布:侧面升降屏+90W快充,价格感人!
- CSDN|软件对于英特尔意味着什么?
- CSDN|中国首家苹果零售店重开业,苹果CEO库克发文揭幕;“携号转网”服务用户破千万;GitHub 完成北极源代码存档|极客头条
- 智能机器人|快商通智能客服云平台荣获CSDN“AI优秀案例实践奖”
- CSDN|万亿美元软件浪潮来临,开发者是核心!
- 行业互联网|快商通智能客服云平台荣获CSDN“AI优秀案例实践奖”
- CSDN|OpenInfra Days China 2020 官网正式上线,含免费注册通道!
- 互联网|万字长文拿下HTTPS,面试不再慌!
- CSDN|实战 | 对抗外部威胁防护和勒索病毒,大厂怎么做?
