linux系统下使用tcpdump进行抓包方法

时间:2021-05-19

我先看下实例代码:

1.常见参数tcpdump -i eth0 -nn -s0 -v port 80-i 选择监控的网卡-nn 不解析主机名和端口号,捕获大量数据,名称解析会降低解析速度-s0 捕获长度无限制-v 增加输出中显示的详细信息量port 80 端口过滤器,只捕获80端口的流量,通常是HTTP2.tcpdump -A -s0 port 80-A 输出ASCII数据-X 输出十六进制数据和ASCII数据3.tcpdump -i eth0 udpudp 过滤器,只捕获udp数据proto 17 协议17等效于udpproto 6 等效于tcp4.tcpdump -i eth0 host 10.10.1.1host 过滤器,基于IP地址过滤5.tcpdump -i eth0 dst 10.105.38.204dst 过滤器,根据目的IP过滤src 过滤器,根据来源IP过滤6.tcpdump -i eth0 -s0 -w test.pcap-w 写入一个文件,可以在Wireshark中分析7.tcpdump -i eth0 -s0 -l port 80 | grep 'Server:'-l 配合一些管道命令的时候例如grep8.组合过滤and or &&or or ||not or !9.快速提取HTTP UAtcpdump -nn -A -s1500 -l | grep "User-Agent:"使用egrep 匹配 UA和Hosttcpdump -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 5313.使用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 2015.捕获DHCP的请求和响应tcpdump -v -n port 67 or 68

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章