我需要监视我的应用程序从传入的 http POST和 GET请求来自外部,有时在机器内部。
POST
GET
这可能吗?
一直在使用 Fiddler,但是这只是传出不传入(从外部机器)或我配置它不正确?
这是为我的网络应用程序,这意味着接收一个外部服务器的 POST。
使用 TcpView查看端口监听和连接。这将 没有给你的请求虽然。
为了查看请求,您需要反向的代理,我不知道任何这样的工具。
使用 追踪提供部分请求(请求的前1KB)。
您可以考虑将 Fiddler 作为反向代理运行,您应该能够让客户端连接到 Fiddler 的地址,然后将来自 Fiddler 的请求转发到您的应用程序。
这将需要一点端口操作或客户端配置,这取决于根据您的需求哪些操作更容易。
如何做到这一点的细节在这里: http://www.fiddler2.com/Fiddler/Help/ReverseProxy.asp
你需要做的是 配置 Fiddler 作为“反向代理”工作
在 Fiddler 的网站上有两种不同的方法可以做到这一点。下面是步骤的副本:
第0步
在下列任一选项正常工作之前,必须使其他计算机能够连接到 Fiddler。单击“工具”> “提琴手选项”> “连接”,然后勾选“允许远程计算机连接”复选框。那就关闭小提琴手。
选项 # 1: 将 Fiddler 配置为反向代理
可以配置 Fiddler,这样发送到 http://127.0.0.1:8888的任何流量都会自动发送到同一台机器上的不同端口。要设置此配置:
http://127.0.0.1:8888
选项 # 2: 编写 FiddlerScript 规则
或者,您可以编写一个执行相同操作的规则。
假设您正在一台名为 WEBSERVER 的机器的端口80上运行一个网站。您正在使用 WindowsSmartPhone 设备上的 Internet Explorer Mobile 版本连接到网站,而您无法为该设备配置网络代理。您需要捕获来自电话和服务器响应的流量。
http://webserver:8888
来自 SmartPhone 的请求将显示在 Fiddler 中。请求从端口8888转发到运行 webserver 的端口80。响应通过 Fiddler 发送回 SmartPhone,而 SmartPhone 并不知道内容最初来自端口80。
使用 Wireshark. 。
我还没试过这个: Http://wiki.wireshark.org/capturesetup/loopback
如果可行,那么您可以筛选 http/http contains GET/http contains POST流量。
http
http contains GET
http contains POST
您可能需要运行两个 Wireshark 实例,一个捕获本地实例,一个捕获远程实例。
我会安装微软网络监视器,配置工具,使其只能看到 HTTP 数据包(过滤端口) ,并开始捕获数据包。
你可以下载 给你
伙计们找到了监控从我的机器到我的机器的请求之间本地流动的所有流量的完美方法:
安装 < a href = “ https://www.Wireshark.org/”rel = “ nofollow norefrer”> Wireshark
当您需要捕获从本地主机流向本地主机的流量时,您将很难使用 wireshark,因为它只监视网卡上的传入流量。这样做的方法是添加一个路由到窗口,将强制所有流量通过一个网关,这是捕获在网络接口。
为此,添加一个 <ip address> <gateway>路由:
<ip address>
<gateway>
cmd> route add 192.168.20.30 192.168.20.1
然后在 wireshark 上运行一个捕获(确保选择了有字节流过的接口) ,然后过滤。
新增加的路线将以黑色显示(因为它们是本地地址)
Microsoft Message Analyzer 是 Microsoft Network Monitor 3.4的继承者
如果您的 http 传入流量将进入您的网络服务器在58000端口,启动分析器在管理员模式,并点击新的会话:
Use filter: tcp.Port = 58000 and HTTP 使用过滤器: tcp.Port = 58000和 HTTP
跟踪场景: “本地网络接口(Win 8及更早版本)”或“本地网络接口(Win 8.1及更高版本)”取决于您的操作系统
解析级别: 满
(关于 Mac,请看下面 Partizano 评论的链接)
我知道已经有一个答案暗示了这一点,但是我想提供的解释和指示,Telerik 应该已经提供,并涵盖了一些’陷阱’,所以这里是:
注意: 要使其工作,需要拦截 必须发送到8888端口的任何请求
你可以通过在你的 主机名后面加上: 8888来完成这个任务,例如对于一个 MVC 路由:
Http://abc0:8888/abc1/abc2
以管理员身份运行 Fiddler 转到 Tools > Fiddler Options > Connections,并确保选中“允许远程计算机连接”,并将“ Fiddler 在端口上监听”设置为8888:
将 Fiddler 配置为将端口8888上接收到的请求转发到端口80
就是这样!Fiddler 现在应该被设置为一个反向代理,以拦截来自端口8888的所有请求(这样您就可以在 Fiddler 中查看它们) ,然后它会将它们转发到您的 Web 服务器以便实际处理。
重要: 一旦您完成查看您的请求,回到工具 > 小提琴手选项 > 连接,并删除“允许远程计算机连接”选项,否则第三方将能够反弹流量通过您的服务器
您也可以尝试使用 HTTP 调试器,它具有显示传入 HTTP 请求的内置能力,并且不需要对系统配置进行任何更改。