问题标签 [pcap.net]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
140 浏览

multithreading - 我应该在库中使用 .NET 4.0 任务吗?

我正在编写一个应该高效且易于使用的 .NET 4.0 库。

该库通过引用它并使用它的不同类来使用。

我应该使用 .NET 4.0 任务来提高内部效率吗?我担心这可能会使库的使用更加复杂和受限,因为用户可能希望自己决定何时何地使用任务和线程。

如果您的答案取决于图书馆的种类,这里有更多信息:

该库是Pcap.Net,它是WinPcap的包装器,包括一个数据包解释框架。

0 投票
2 回答
1027 浏览

c# - 当我的线程调用另一个线程时,如何检查 BackgroundWorker.CancellationPending?

当我在此方法中调用 Pcap.Net 数据包捕获例程时,我应该如何检查 BackgroundWorker DoWork 方法中的 CancellationPending,该例程通过回调进行响应。我能想到的两个选择是:

a) 在 DoWork 方法的底部写一个循环来不断检查 CancellationPending

b) 将检查放入我编写的回调方法中,Pcap.Net 将回调到该方法中 - 但毫无疑问,这里的潜在问题是取消无法正常工作,直到发生另一个补丁匹配并且有回调

建议?

0 投票
1 回答
2123 浏览

.net - 使用 PCap.Net 捕获 DNS 响应?

Q1 - 是否可以使用库捕获 DNS 请求/响应?

Q2 - 如果是,一旦我收到数据包,是否有人有任何示例代码显示我如何从 DNS 响应中提取字段?特别是 DNS 为特别提供的给定 DNS 名称解析的 IP 地址。

0 投票
2 回答
4678 浏览

c# - 如何在 .NET 中解析 UDP 数据包?

如何在 .NET 中解析 UDP 数据包?

我正在使用 PCap.Net 来捕获数据包,在这种情况下是 UDP 数据包,我可以通过 (PcapDotNet.packets.Ethernet.IpV4.Udp) 从 PCap.net 对象访问它。

如何获取结果、Udp 数据包并解析它?特别是解绑 UDP 数据包中发生的 DNS 请求和响应。

这里有可以提供帮助的图书馆吗?

编辑:更具体地说,我想要做的是从 DNS 响应中提取 IP 地址,并根据使用 Wireshark 的检查,可以通过:

(a) 输入:作为 DNS 响应的 UDP 数据包的有效负载

(b) 处理:解析出UDP数据包的DNS响应部分。找到 Answers 部分,在此找到类型为 A(主机地址)[不是 CNAME 记录]的答案记录,然后使用此答案记录获取 IP 地址。

(c) 返回:来自 DNS 响应的 IP 地址。

0 投票
1 回答
757 浏览

http - 创建 HTTP 数据包

我想创建具有随机 IP 源的 HTTP 数据包。

显然,Pcap.net 做到了。我在这里问: http://pcapdotnet.codeplex.com/Thread/View.aspx?ThreadId= 227725,但我仍然没有弄清楚该怎么做。

有人帮我写代码吗?

我准备用 C# 以外的其他语言来做。

谢谢

0 投票
1 回答
1219 浏览

visual-studio - 不正确的参考 PcapDotNet.?.dll

您好,我尝试使用 PcapDotNet dll,但无法添加对我的项目的引用。它是哪个dll并不重要。PcapDotNet.Core.dll、PcapDotNet.Base.dll 等。我在此参考附近有黄色感叹号,无法使用此 dll 中的任何方法。Ofc“使用 PcapDotNet.Core;” 也带有下划线,编译器向我显示:“名称空间'PcapDotNet'中不存在类型或名称空间名称'Core'(您是否缺少程序集引用?)”我可以正常添加不同的dll。

有任何想法吗?

0 投票
5 回答
6755 浏览

c# - 将 UDP 数据包转发到多个保持原始源地址的 IP

我有一个工作系统,通过发送到固定 IP:Port 的 UDP 数据包接收数据,我想使用程序(某种代理?)将这些数据包的副本发送到新 IP:Port(或IP:端口,但都在与程序相同的 LAN 内)。

不像看起来那么容易,因为我需要复制的数据包与原始数据包具有相同的源 IP 地址。

在我的研究中,我发现 PCap.Net(WinPCap .NET 包装器)很有用,因为它可以从头开始构建数据包,并且支持修改所有地址字段。我设法捕获数据包并构建它们。但在某种程度上,他们没有到达预期的目的地(!?)。我应该使用不同的 PacketCommunicator 来接收和发送它们吗?

无论如何,这个问题与 PCap.Net 并不完全相关,而是要知道实现我想要的目标的替代方法。通过免费应用程序?商业应用?开源样本?还有其他图书馆可以使用吗?

我的系统是基于 Windows 的(这里没有可用的 Linux)。而且我有 C# (.NET) 经验(如果 NET 绑定不可用,我不能使用 C++ 库)。

非常感谢您的帮助

0 投票
2 回答
3016 浏览

.net - .net 数据包捕获:pcap.net 与 Sharppcap

对任何人对可用于被动数据包捕获的各种 .net 工具的任何评论感兴趣。就 winpcap 而言,选择似乎在 pcap.net 和 Sharppcap 之间。另一个潜在的产品是微软的NetworkMonitor,我相信还有其他产品。

多年来,我偶尔使用 ethereal/wireshark 作为诊断工具,但这是我知识的局限。我正在寻找自动化捕获过程和后续诊断处理。我目前倾向于 pcap.net,但想听听任何使用过两种或多种这些工具的人的意见,以及他们是否会推荐其中一种。我的偏好是最简单的界面/最浅的学习曲线。请让我知道你的想法。

谢谢帕特里克

0 投票
7 回答
44583 浏览

c# - 将字节数组转换为托管结构

更新:这个问题的答案帮助我在 GitHub 上编写了开源项目AlicanC 的 Modern Warfare 2 Tool。您可以看到我是如何在MW2Packets.cs中读取这些数据包的,以及我为读取 Extensions.cs 中的大端数据而编写的扩展程序

我在我的 C# 应用程序中使用Pcap.Net捕获使命召唤:现代战争 2 的UDP 数据包。我从图书馆收到一封。我试图像字符串一样解析它,但效果不佳。byte[]

byte[]我有一个通用数据包标头,然后是另一个特定于数据包类型的标头,然后是有关大厅中每个玩家的信息。

一位乐于助人的人为我检查了一些数据包并提出了以下结构:

我在我的 C# 应用程序中重新创建了数据包头结构,如下所示:

然后我尝试为“partystate”标题创建一个结构,但我收到错误消息说fixed关键字不安全:

unknown14由于和的大小不同,我无法为玩家条目做任何事情unknown18。(玩家条目是最重要的。)

现在,不知何故,我必须将我必须的东西投射byte[]到这些PacketHeader结构中。可悲的是,这并不容易(PacketHeader)bytes。我尝试了我在互联网上找到的这种方法,但它抛出了一个AccessViolationException

我怎样才能做到这一点?

0 投票
2 回答
14814 浏览

c# - Pcap.net vs Sharppcap

我只想监听一个网络设备,捕获数据包并将数据包写入一个虚拟文件。另外我需要在收听时过滤数据包,所以我只写通过过滤器的数据包。我需要在.net c# 上做这些。这些是我的要求。那么我应该使用哪一个?高传输率和最小丢包率真的很重要。谢谢阅读。