我怎样才能得到Wireshark的向我展示我的本地HTTP流量?(How can I get Wir

2019-10-20 22:12发布

当我输入用户可以在本URI调用REST方法在我运行的Web API的应用程序:

http://SHANNON2:21608/api/inventory/sendXML/duckbill/platypus/someFileName // using Hostname of local machine

--or这一个:

http://192.168.125.50:21608/api/inventory/sendXML/duckbill/platypus/someFileName // using IP Address of local machine

...在邮差(使用HttpPost,并附加一个XML文件),并运行它,在提琴手2研究它,我看到提琴手的Inspectors.WebView窗格此错误:

Bad Request - Invalid Hostname

--------------------------------------------------------------------------------

HTTP Error 400. The request hostname is invalid.

注:我得到即使我打在服务器上相应的控制器REST方法断点的错误。

试图进一步审查到底发生了happending(正在发送的HTTP),我跑Wireshark的,看看这只是我的IP地址的目的:

...这与我的IP地址作为源:

为什么没有HTTP协议项? 该HTTP显然被发送,因为我打我的服务器控制方法的第一行设置断点:

[HttpPost]
[Route("api/inventory/sendXML/{userId}/{pwd}/{filename}")]
public async Task SendInventoryXML(String userId, String pwd, String fileName)
{
    Task task = Request.Content.ReadAsStreamAsync().ContinueWith(t =>
    {
        var stream = t.Result;
        using (FileStream fileStream = File.Create(String.Format(@"C:\HDP\{0}.xml", fileName), (int)stream.Length))
        {
            byte[] bytesInStream = new byte[stream.Length];
            stream.Read(bytesInStream, 0, (int)bytesInStream.Length);
            fileStream.Write(bytesInStream, 0, bytesInStream.Length);
        }
    });
}

那么,为什么是Wireshark是如此隐秘,展示我发送的HTTP? 难道视而不见到内部通信,如果是这样,我怎么能“释放它”给我看吗?

UPDATE

AHA /瞧! 邮差的组合,RawCap( http://www.netresec.com/?page=RawCap ),和Wireshark似乎工作。 我迅速地从与此冗词在命令提示符下运行的新发现RawCap:

RawCap.exe 192.168.125.50 captured.pcap

......然后叫邮差从REST的方法,以及打开的RawCap在Wireshark的创建(在我的情况captured.pcap)生成的文件,它显示了我一些HTTP流量:

有关HTTP调用一些更详细可以看这里:

我不知道是如何“关闭” RawCap优雅。

更新2

RawCap / Wireshark的告诉我,这是一个错误的请求(我已经知道是响应):

......但我什么也看不到给我, 为什么它被认为是一个坏的请求线索

更新3

当我尝试调用从小提琴手作曲家我的REST方法与所有的各种形式的“本地”的(主机名,IP地址,“locohost”),我永远无法到达服务器断点; 我得到犯错之前,该封邮件(404 locohost,400对于所有其他):

Answer 1:

通常情况下, Invalid Hostname是指HTTP请求的Host头包含未绑定到Web服务器上的任何网站的值。 例如,您使用的是IP地址作为主机,但如果你的服务器配置为仅接受机器名称(例如mybox ),然后你会看到来自服务器的HTTP / 400,要求你提供一个正确的主机名。



文章来源: How can I get Wireshark to show me my local HTTP Traffic?