[linux] tcpdump抓包案例
2023-02-18 15:41:53 时间
1.常见参数 tcpdump -i eth0 -nn -s0 -v port 80 -i 选择监控的网卡 -nn 不解析主机名和端口号,捕获大量数据,名称解析会降低解析速度 -s0 捕获长度无限制 -v 增加输出中显示的详细信息量 port 80 端口过滤器,只捕获80端口的流量,通常是HTTP 2. tcpdump -A -s0 port 80 -A 输出ASCII数据 -X 输出十六进制数据和ASCII数据 3. tcpdump -i eth0 udp udp 过滤器,只捕获udp数据 proto 17 协议17等效于udp proto 6 等效于tcp 4. tcpdump -i eth0 host 10.10.1.1 host 过滤器,基于IP地址过滤 5. tcpdump -i eth0 dst 10.105.38.204 dst 过滤器,根据目的IP过滤 src 过滤器,根据来源IP过滤 6. tcpdump -i eth0 -s0 -w test.pcap -w 写入一个文件,可以在Wireshark中分析 7. tcpdump -i eth0 -s0 -l port 80 | grep 'Server:' -l 配合一些管道命令的时候例如grep 8. 组合过滤 and or && or or || not or ! 9. 快速提取HTTP UA tcpdump -nn -A -s1500 -l | grep "User-Agent:" 使用egrep 匹配 UA和Host tcpdump -nn -A -s1500 -l | egrep -i 'User-Agent:|Host:' 10. 匹配GET的数据包 tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' 匹配POST包,POST的数据可能不在包里 tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354' 11. 匹配HTTP请求头 tcpdump -s 0 -v -n -l | egrep -i "POST /|GET /|Host:" 匹配一些POST的数据 tcpdump -s 0 -A -n -l | egrep -i "POST /|pwd=|passwd=|password=|Host:" 匹配一些cookie信息 tcpdump -nn -A -s0 -l | egrep -i 'Set-Cookie|Host:|Cookie:' 12. 捕获DNS请求和响应 tcpdump -i eth0 -s0 port 53 13. 使用tcpdump捕获并在Wireshark中查看 使用ssh远程连接服务器执行tcpdump命令,并在本地的wireshark分析 ssh root@remotesystem 'tcpdump -s0 -c 1000 -nn -w - not port 22' | wireshark -k -i - ssh ubuntu@115.159.28.111 'sudo tcpdump -s0 -c 1000 -nn -w - not port 22' | wireshark -k -i - 14. 配合shell获取最高的IP数 tcpdump -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20 15.捕获DHCP的请求和响应 tcpdump -v -n port 67 or 68
相关文章
- 一个git仓库多个项目配置pre-commit代码校验
- 搭建PHP开发环境(PHPStorm+PHPStudy)
- 记一次git丢失代码找回
- 记 ThinkPHP 项目部署
- MongoDB按时间分组
- 记一次Github提交PR过程
- Docusaurus配置Gitalk评论插件
- 使用Github Action自动化部署
- 搭建GitLab代码管理仓库
- 记 Github 学生认证
- Gitea 与 Drone 实践
- WP插件CodeColorer兼容PHP7
- PHP时间函数总结
- 在Linux上使用sysstat的iostat监控系统IO
- PHP编译错误的解决办法
- 修改Linux系统语言
- thinkphp钩子的实现
- thinkphp框架解析1 -- 只是一个开始
- PHP一些不为人知的使用方法
- git在公司内部的使用实践