c# - 如何拦截应用程序发送的数据包并检查它们的包头和内容?

标签 c# packet-sniffers sniffing

<分区>

我想知道如何拦截某个应用程序发送的数据包,然后检查这些数据包包含的内容。 我需要一些建议,因为我从来没有做过这样的事情,我想自己学习。

最佳答案

Pcap.Net

Pcap.Net 是用 C++/CLI 和 C# 编写的 WinPcap .NET 包装器。 它具有几乎所有 WinPcap 功能,并包括一个数据包解释框架。

SharpPcap

SharpPcap 是 .NET 环境的跨平台数据包捕获框架,基于著名的 pcap/WinPcap 库。它提供了一个 API,用于使用任何 .NET 语言(例如 C# 和 VB.NET)捕获、注入(inject)、分析和构建数据包。

Comparision of Pcap.Net and SharpPcap

Wireshark

它用于网络故障排除、分析、软件和通信协议(protocol)开发以及教育。我认为它是我迄今为止使用的最通用的数据包嗅探器。

Fiddler

Fiddler 是一个 Web 调试代理,它记录您的计算机和 Internet 之间的所有 HTTP(S) 流量。 Fiddler 允许您检查流量、设置断点和“摆弄” 传入或传出数据。 Fiddler 包括一个强大的基于事件的脚本子系统,并且可以使用任何 .NET 语言进行扩展。最近 Fiddler 被 Telerik 取代。但它仍然是免费的 AFAIK。

关于c# - 如何拦截应用程序发送的数据包并检查它们的包头和内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12437620/

相关文章:

c# - 按位将 long 解包为两个数字

c++ - 是否有用于 Wireshark 的 API,用于开发与其交互/增强的程序/插件?

python - Scapy:嗅探自制层

ruby - 如何捕获所有 HTTP 流量(本地代理)

linux - 找出Linux机器中的调用者和被调用的服务

c# - 有没有办法以编程方式绑定(bind)到 InputBinding Command 属性?

c# - 找不到 32 位 DLL 的入口点。使用 64 位 DLL

在 OS X 上使用 pypcap 和 dpkt 的 Python 嗅探器

java - 使用jpcap捕获html

c# - 为什么在我的 Web API (ASP.NET v5) 项目中添加依赖项无法完全正常工作?