调试文件上传/多部分上传和其他HTTP请求

有时你想看到服务器收到的请求,而不需要对原始请求进行任何处理/掩盖。

例如,看看不同的浏览器处理文件上传的方式是否不同。

另一方面,你不希望为了处理这些请求而编写自己的模拟服务器,或安装复杂的软件。

不幸的是,netcat如果不在bash脚本中进行额外的包装是不行的。因此,我去寻找别的东西

Docker http request echo 容器

有一个Docker容器,它允许你将你的请求数据作为JSON进行回声。它对调试非常有用。

https://github.com/mendhak/docker-http-https-echo

它也接受POST信息。

安装

docker run -p 8080:80 -p 8443:443 -rm -t mendhak/http-https-echo

例子

下面是对一个上传请求样本的答复。

注意Content-Disposition,以及请求体中的边界。

该请求是在Windows XP(虚拟机)上使用Internet Explorer 7完成的。

形象

和另一张截图,显示一个普通的获取请求(来自Windows 8.1)。

形象

----------7e33ca16100d0\r\nContent-Disposition: form-data; name="fileToUpload"; filename="C:\Documents and Settings\Administrator\Desktop\Test\blue"。jpg"\r\nContent-Type: image/pjpeg\r\n\n����\u0000\u0010JFIF\u0000\u0001\u0001\u0000H\u0000H\u0000u0000��CREATOR: gd-jpeg v1.0 (使用IJG JPEG v62),默认为

(...)

\`u0000��\rn----------7e33ca16100d0\r\nContent-Disposition: form-data; name="submit"`r\n\nUpload Image\r\n----------7e33ca16100d0-\r\n',

如何获得Windows XP和IE 7

微软曾经有一个虚拟机用于测试网站与IE 7的兼容性。不幸的是,现在这已经不存在了。

然而,有一种可能性是直接从微软获得Windows XP(从Windows 7的XP模式中提取一个虚拟镜像)。

https://parsiya.net/blog/2017-12-19-windows-xp-32-bit-sp3-virtual-machines/

它将在30天内发挥作用。

而你可以在这里获得Internet Explorer 7的下载。

http://download.microsoft.com/download/3/8/8/38889dc1-848c-4bf2-8335-86c573ad86d9/IE7-WindowsXP-x86-enu.exe

(摘自这个脚本。 https://raw.githubusercontent.com/xdissent/ievms/master/ievms.sh )