我正在用一个检查http流量的pcap库编写一个嗅探器程序。我在寻找GET消息或状态代码时取得了成功,但我不知道为什么它不能用于发布请求。 我尝试使用wireshark,我看到了对于POST请求,除了http协议之外,还有一个基于行的文本数据:application / x-www-form-urlencoded“protocol”。 当我尝试打印有效载荷的内容时,我没有得到结果,或者我得到了奇怪的字符..所以我想也许问题就是这个“基于行的......”的东西.. 知道可能的原因吗?
答案 0 :(得分:1)
奇怪的字符可能来自utf-8编码,而不是ascii编码的POST。它还取决于您要捕获的应用程序,因为某些Flash应用程序使用POST请求但加密它们以防止篡改。
答案 1 :(得分:0)
编辑: See my answer to your other question
这是我用tcpdump捕获的内容。你看到了什么?
POST /xml/crud/posttest.cgi HTTP/1.1
Host: www.snee.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Fedora/3.6.12-1.fc13 Firefox/3.6.12
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://www.snee.com/xml/crud/posttest.html
Content-Type: application/x-www-form-urlencoded
Content-Length: 21
fname=test&lname=test