如何让 Wireshark 显示我的本地 HTTP 流量?

2023-12-28

当我输入此 URI 以在正在运行的 Web API 应用程序上调用 REST 方法时:

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

——或者这个:

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

...在 Postman 中(使用 HttpPost,并附加一个 xml 文件)并运行它,在 Fiddler 2 中检查它时,我在 Fiddler 的 Inspectors.WebView 窗格中看到此错误:

Bad Request - Invalid Hostname

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

HTTP Error 400. The request hostname is invalid.

注意:即使我得到了这个错误do在服务器上相应的控制器 REST 方法中命中断点。

为了进一步检查到底发生了什么(正在发送什么 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

啊哈/瞧! Postman、RawCap 的组合(http://www.netresec.com/?page=RawCap http://www.netresec.com/?page=RawCap),并且 Wireshark 似乎可以工作。我立即从命令提示符处运行了新发现的 RawCap,并使用了以下措辞:

RawCap.exe 192.168.125.50 captured.pcap

...然后从 Postman 调用 REST 方法,并在 Wireshark 中打开 RawCap 创建的结果文件(在我的例子中为 captured.pcap),它向我显示了一些 HTTP 流量:

有关 HTTP 调用的更多详细信息,请参见此处:

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

UPDATE 2

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

...但我没有看到任何线索why这被认为是一个糟糕的请求

UPDATE 3

当我尝试使用各种形式的“本地”(主机名、IP 地址、“locohost”)从 Fiddler Composer 调用 REST 方法时,我从未到达服务器中的断点;在此之前我收到错误消息(locohost 为 404,所有其他为 400):


通常,Invalid Hostname意味着 HTTP 请求的Hostheader 包含一个未绑定到 Web 服务器上任何站点的值。例如,您使用 IP 地址作为主机,但如果您的服务器仅配置为接受计算机名称(例如mybox)然后您将看到来自服务器的 HTTP/400,要求您提供正确的主机名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让 Wireshark 显示我的本地 HTTP 流量? 的相关文章

随机推荐

  • 绿色调试器指针在 VS Code 中意味着什么?

    与调试会话期间的正常黄色位置指针相比 绿色箭头意味着什么 我认为这是 Javascript 的时候hoisting变量 我是从 Udemy 课程中学到的 您可以预览视频 https www udemy com course understa
  • 如何从Android中的Google Drive获取所有文件夹和文件的列表

    我已经开始开发一个应用程序 其中我必须列出谷歌驱动器中的所有文件夹和文件 我已经按照堆栈溢出中的建议浏览了所有文档和下面的演示链接answer https stackoverflow com questions 32760028 get a
  • 使用 $apply 在 OData v4 规范中聚合筛选数据集的语法

    假设我正在查询一个名为Sales具有以下架构 id int price decimal active bit 使用 apply查询选项和aggregate的转变OData v4 规范 http docs oasis open org oda
  • 由于 xml 签名错误

    我有一个 xml 文档 当我使用 java libs 打印文档时 我得到了正确的 xml 输出 然后我使用 xmlsignatures 签署 xml 文档 签名后 我尝试再次打印该文档 但这次文档的打印方式是所有元素混乱 所以我想知道xml
  • 在Android上使用Gstreamer或ffmpeg创建rtsp客户端

    我想在android上流rtsp流 我终于来了 结论是我不能使用 android API 的 MediaPlayer Videoview 等 因为 延迟对我来说是个大问题 我需要 Gstreamer 或 ffmpeg 客户端是否能够提供 我
  • 如何在基于浏览器的url中将自定义对象发送到WCF REST服务[重复]

    这个问题在这里已经有答案了 我有一个可序列化的员工实体类 public class Emp public int Id get set public string Name get set 我想从浏览器将此类的对象发送到 WCF REST
  • Jenkins pipeline、bitbucket hook 和 maven 发布插件无限循环

    我一直找不到这方面的信息 所以希望大家能帮我解决这个问题 我有一个托管在 bitbucket 中的 Maven 项目 它有一个 BitBucket WebHook 指向 someurl bitbucket hook 这个钩子会触发我的项目的
  • 重用部分查询进行计数的 Java 编码最佳实践

    The 在 hibernate 中实现结果分页获取总行数 https stackoverflow com questions 1600215 implementing result paging in hibernate getting t
  • 如何将 @Query sql 存储在 CrudRepository 的外部文件中?

    我在用着spring with CrudRepositorys 用于数据库连接 现在我需要一个相当长 几行 的 SQL 查询 我更愿意将其维护在类路径中的文件中 而不是直接在代码中维护 但我怎样才能实现这个目标呢 我的仓库如下所示 Quer
  • 日期范围的 Facebook 广告洞察 GRAPH API 边缘

    我正在尝试使用 Facebook Graph API 获取给定日期范围内的 Facebook 广告统计信息 这似乎不起作用 lt gt 知道我应该怎么做吗 答案在上面的评论中 并将其添加到此处 以便清楚 问题出在 time range 参数
  • Google Chrome 是否有 API 来访问其下载页面?

    我可以通过扩展程序 附加组件 进入 Google Chrome 的下载页面吗 我想编写一个扩展 它需要用户当前正在下载的所有文件的文件名 或路径 这可能吗 我应该查看哪些 API 搜索这个非常棘手 我不知道从哪里开始 不 我找不到可以让您查
  • 如何在vagranted虚拟机上访问postgresql?

    我通过 Vagrant 虚拟机和 postgresql 进行制作 并希望将其用作我的 Rails 应用程序数据库 我使用类似的 Vagrantfile Vagrant configure 2 do config config vm netw
  • 遇到合并冲突标记

    SourceTree 合并冲突 我创建了一个本地 Test 分支进入源树用于测试一些新功能 一切似乎都工作正常 然后我合并了 master 分支到我本地 Test 分支 不幸的是 推了它 但从那以后通过跑步 服务 我收到以下错误 52 lt
  • VBA 复制和转置数据范围

    我正在工作中设置一些电子表格以简化我的工作 我还是 VBA 新手 我正在尝试从 Sheet1 中剪切列 E6 E14 中的一系列数据 并在将数据粘贴到 Sheet2 列 A 中的下一个可用行中之前转置数据 这是我迄今为止通过反复试验编写的代
  • 如何从 Web 服务中获取参数值

    我有一个 Web 服务 一个 ASP NET asmx 页面 出于调试目的 我需要记录对 Web 服务的所有调用 包括传递到每个调用的所有参数的值 因此基本上每个 WebMethod 应该做的第一件事就是记录它的状态以及传递给它的所有参数值
  • 是否有移动和覆盖文件的操作?

    我正在寻找移动和覆盖文件的操作 我知道有一个新方法Java7 http docs oracle com javase 7 docs api java nio file Files html move 28java nio file Path
  • 您是否需要一个框架来为 Web 编写 Ruby 或 Python 代码?

    每次我看到在 Web 开发背景下讨论 Ruby 或 Python 时 总是会提到一个框架 Rails for Ruby Django for Python 这些框架有必要吗 如果没有 是否有原因导致这些语言经常在框架内使用 而 Perl 和
  • 合并 - 条件“匹配时更新”

    下图中的亮点显示了我想要实现的逻辑 我意识到语法不正确 有没有办法有条件地更新 MERGE 语句中的记录 仅当目标表中某一列的值为 NULL 并且源表中相应的值不为 null 时 你建议如何重写这个 MERGE dbo input 311
  • 在哪里可以找到 Andrew Richards 为 WinDBG 编写的 pde 扩展?

    我在网上的一些资源中看到提到它 但我找不到它 它似乎没有包含在 WinDBG 发行版中 有一个公共 OneDrive 其中包含它的 ZIP 文件
  • 如何让 Wireshark 显示我的本地 HTTP 流量?

    当我输入此 URI 以在正在运行的 Web API 应用程序上调用 REST 方法时 http SHANNON2 21608 api inventory sendXML duckbill platypus someFileName usin