【发布时间】:2019-11-08 22:59:35
【问题描述】:
我希望能够读取到达我的服务器的 URL GET 请求,例如:“www.JohnAlexINL.com/ping”或“http://johnalexinl.com/”等。
我尝试过使用 TCPDump,但它给了我一堆乱码,我不知道如何翻译回原始请求(我可以跟踪源并读取数据包,但我不能让它们回到 URL 中)。我也试过只监听我的 TCP/UDP/HTTP 端口,但这会导致与 Apache 的兼容性问题,从而有效地关闭了我的网站
我首先尝试了这个
sudo tcpdump -vv -x -i lo 'port 80'
之后没有“端口 80”
sudo tcpdump -vv -x -i lo
我尝试了一些其他配置并将其保存到一个文件并对其进行筛选,但我是在 IDLE 中这样做的,所以我不再记得我是如何将其全部输入的。对不起
我希望我能看到 TCP“握手”、GET 请求和一些包含实际数据的响应包。
我得到了一些类似的东西,但不是我可以实际使用的,因为它只说明了哪些数据已被移动——而不是保证响应的请求。
摘录:
19:45:25.293910 IP (tos 0x0, ttl 64, id 4474, offset 0, flags [DF], proto UDP (17), length 103)
localhost.domain > localhost.36156: [bad udp cksum 0xfe9a -> 0xee1b!] 30218 q: PTR? 53.0.0.127.in-addr.arpa. 1/0/1 53.0.0.127.in-addr.arpa. PTR localhost. ar: . OPT UDPsize=65494 (75)
0x0000: 4500 0067 117a 4000 4011 2ad6 7f00 0035
0x0010: 7f00 0001 0035 8d3c 0053 fe9a 760a 8180
0x0020: 0001 0001 0000 0001 0235 3301 3001 3003
0x0030: 3132 3707 696e 2d61 6464 7204 6172 7061
0x0040: 0000 0c00 01c0 0c00 0c00 0100 0000 0000
0x0050: 0b09 6c6f 6361 6c68 6f73 7400 0000 29ff
0x0060: d600 0000 0000 00
【问题讨论】:
-
告诉我们您想要实现的目标。你在设置网络服务器吗?是否要分析低级网络流量?首先说明您要解决的问题。
-
您发布的摘录是 UDP 上的 DNS 请求,不是 TCP 连接的一部分。
-
不要引用过滤器。
tcpdump -vv -x -i lo port 80 -
@Barmar -- 在没有过滤器的情况下再次尝试,没有任何区别;终端中的相同输出。我只发布了该摘录以表明我只获取源、目的地和数据包。我只关心用户最初输入的 URL,除此之外我得到了几乎所有的东西。不想在这里丢垃圾。 TCP 和 UPD 的详细信息看起来差不多 ``` localhost.58340 > localhost.http: Flags [S], cksum 0xfe30 (incorrect -> 0x1720), seq 1056236181, win 43690, options [mss 65495,sackOK,TS val 7440351 ecr 0,nop,wscale 7], 长度 0 ``` 例如
-
@ChrisJohnson -- 我正在尝试监控到达我网站的 GET 请求,以便我可以使用 Python 脚本自动更新我的数据库。例如,我希望能够传递像“johnalexinl.com/_rep11xupdate”这样的请求,然后让我的 Python 脚本生成一个文本文件,其中包含在我的 POS 系统的 REP 程序版本 11 之后需要更新的文件列表