我需要捕获帖子数据和发出请求的时间。我想用它在实验室服务器上重放请求。
当我运行以下命令时:
tcpdump -i any -s 0 -A '(tcp dst port 8100) and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'
我在屏幕上看到了我想要的内容。它包括时间、URL 和帖子数据:
01:20:02.447094 IP webapps.48086 > webapps.amiganetfs: Flags [P.], seq 3886347649:3886347861, ack 4225527091, win 342, options [nop,nop,TS val 2103470568 ecr 2103470568], length 212
E.....@[email protected].....
}`i.}`i.POST /socket?user=test HTTP/1.1
Host: 192.168.150.156:8100
User-Agent: curl/7.61.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
Content-Length: 28
<sample schemaVersion="1"/>
我运行以下命令来写入文件:
tcpdump -i any -s 0 -A '(tcp dst port 8100) and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)' -w network_capture_$(date +"%Y%m%d_%H%M").pcapng -Z root -C 100
当我用 打开它时vim
,时间不再存在,并且有很多不可打印的内容:
}Gò@}Gò?POST /socket?user=test HTTP/1.1^M
Host: 192.168.150.156:8100^M
User-Agent: curl/7.61.1^M
Accept: */*^M
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1^M
Content-Length: 28^M
^M
<sample schemaVersion="1"/>ÒY^\dS=^C^@^X^A^@^@^X^A^@^@^@^@^C^D^@^F^@^@^@^@^@^@^@^@^H^@E^@^A^Hï°@^@@^FÄá¬^R<96><9c>¬^R<96><9c>ã¶^H4(<86> î<9b>Åwn<80>^X^AV<86>X^@^@^A^A^H
我尝试使用删除不可打印的字符,sed $'s/[^[:print:]\t]//g' network_capture_20230324_0053.pcapng
但发布数据后仍然有垃圾(?YdE]@@W????40ׂ+??VX
):
}G??}G??POST /socket?user=test HTTP/1.1
Host: 192.168.150.156:8100
User-Agent: curl/7.61.1
Accept: */*
Content-Type: application/x-www-form-urlencoded; charset=ISO-8859-1
Content-Length: 28
<sample schemaVersion="1"/>?YdE]@@W????40ׂ+??VX
我如何获取时间、URL 并将数据发布到文件?
答案1
要查看 tcpdump 的输出,请使用 读取文件-r
,也可以选择-A
使用 ascii 读取,例如:
tcpdump -A -r filename.pcap
为了获得更好的交互格式和选项,请使用类似 pcap 阅读器tcpick