问题标签 [packetdotnet]

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 投票
1 回答
299 浏览

c# - Attempted to set a negative index while reading PCAP files

I have a randomly occurring problem on a set of PCAP files. I am trying to parse all the packets from the recorded PCAP files using SharpPcap and PacketDotNet. The errors seem to occur at random.

I am not doing anything fancy. The following is my code for loading from PCAP file:

In the ProcessPacket method I get the

Attempted to set a negative index

when executing the following line:

I am using the latest version of both libraries, but I have tried implementations with older versions and ran into the same problem.

PCAP files were generated by Suricata IDS if that means anything.

Edit

I made a simple test using the following code:

What is interesting about this is that the number of files in which the errors occur varies from run to run. However, it seems to be increasing with each run.

Any help would be greatly appreciated.

0 投票
1 回答
469 浏览

c# - 在程序的一个实例中读取多个 PcapFiles

我正在为 WinPcap 使用 Sharppcap 包装器,并且我试图在程序/程序生命周期的一个实例中连续读取多个 pcap 文件

它可以遍历第一个文件,但是一旦尝试解析第二个文件,它就会抛出 AccessViolationException。

我知道我可以为 1 个 pcap 文件创建一个该程序的实例,但我真的很想在一个程序中处理所有文件。有任何想法吗?

0 投票
0 回答
839 浏览

c# - C# SharpPcap 发送 Tcp 数据包

我试图通过 SharpPcap 将 Tcp 数据包发送到服务器,但它不起作用,有人可以帮助我或解释我如何使用 SharpPcap 和 Packet.Net 发送 TcpPackets。

更多信息:如果收到特定数据包,我正在嗅探连接并尝试向服务器发送消息。

谢谢阅读!

0 投票
0 回答
391 浏览

c# - 获取 TCP 数据包内的清除内容

我尝试使用 SharpPcap 从数据包中获取清晰的内容。

这是我的代码

但是,我无法在 WireShark 中获得相同的内容。WireShark 可以准确地看到内容的用户名/加密密码。我尝试嗅探发送到 MySQL 数据库的内容。

WireShark 中的实际情况:

线鲨

0 投票
0 回答
1850 浏览

c# - SharpPcap - 从数据包中获取信息

我正在尝试从数据包中获取信息,例如使用 SharpPcap 和 PacketDotNet 的 GET/POST 请求。我在 stackoverflow 上查看了不同的信息,但我遇到了编码问题。来自数据包的信息并未在每个采用的编码系统中正确显示。

我的代码如下:

结果显示在屏幕截图中:屏幕截图

0 投票
1 回答
451 浏览

c# - 在本地网络上嗅探安卓设备的 TCP 数据包

我正在使用 C# 和 PcapDotNet 编写一个数据包嗅探器,我已经成功实现了该功能,并且能够从我的笔记本电脑捕获所有 TCP 数据包,问题是如果我以我的 android 设备为目标,我根本没有收到任何数据包,我是网络初学者,所以我想我可能遗漏了一些东西。

这是我的数据包处理程序代码,我正在使用一个 ObjectListView 和一个模型对象,其中包含我想要列出的所有信息,我还有一个混杂模式的网络适配器和一个伯克利过滤器,只获取端口号为 443 的 TCP 数据包和 80 包含来自特定 Mac 地址的数据(无 SYN、FIN、仅 ACK 数据包)

代码:

这就是我打开适配器的方式:

我也尝试不使用任何过滤器,但无法访问 android 设备数据包。那么除了我自己的设备之外,是否可以从网络上的其他设备捕获 TCP 数据包?或者我的实现可能有问题?

编辑:在尝试了更多之后,我能够成功地从 android 设备获取 TCP 数据包,但只能在同时实施 ARP 缓存中毒的同时,因为设备认为我是网关。所以我的问题是,这是否可以在没有 ARP 缓存中毒的情况下完成,因为我认为这对于数据包嗅探器来说有点激进。

0 投票
1 回答
253 浏览

c# - 数据包大小超过 1500

我正在尝试使用 SharpPcap 和 PacketDotNet 发送超过 2000 字节的数据。但是,MTU(1500 字节)小于数据的大小。我尝试使用https://support.zen.co.uk/kb/Knowledgebase/Changing-the-MTU-size-in-Windows-Vista-7-or-8设置 MTU(到 5000) ,但它仍然是抛出错误如下:

有谁可以帮我离开这里吗...

0 投票
4 回答
140 浏览

c# - 如何从 UInt128 类型中提取字节

PacketDotNet 库定义了一个 struct UInt128。看:

如何在 C# 中将此类型转换为简单的字节数组?

0 投票
0 回答
31 浏览

c# - 将特定的应用程序包重定向到不同的网络适配器

我正在尝试重定向来自应用程序的特定网络数据包并将它们路由到我的以太网网络适配器。这样我就可以拥有我的前任:普通网络上的浏览器和我的 VPN 网络上的所有其他东西。

为此,我正在使用来自www.ntkernel.com和 PacketDotNet 的 Windows 数据包过滤器。

整个逻辑是:
我的普通适配器的内部 IP 是:192.168.1.6
我的 VPN 适配器的内部 IP 是:10.128.19.222

我有一个连接如下的应用程序:
本地地址:10.128.32.222:50449 -> 远程地址:54.210.0.167:443

对于从 10.128.32.222:50449 发送到 54.210.0.167:443 的所有数据包,我会监听 VPN 适配器。

然后获取数据包并使用 PacketDotNet 解析并将源地址和 MAC 更改为我的正常适配器地址,因此新数据包具有以下网络数据:
Source 192.168.1.6:50449 ;目的地:54.210.0.167:443
然后新数据包通过普通适配器向下发送到网络堆栈。

在一个单独的线程中,我监听从 Source: 54.210.0.167:443 接收到的所有数据包的普通适配器;Destination: 192.168.1.6:50449
然后获取数据包并使用 PacketDotNet 解析,并将目标地址和 MAC 更改为我的 VPN 适配器地址,因此新数据包具有以下网络数据:
Source: 54.210.0.167:443 ; 目的地:10.128.32.222:50449
然后新数据包通过 VPN 适配器向上发送到网络堆栈。

我在网络方面几乎没有经验,所以我不确定我做错了什么,但这会阻止我对该特定应用程序的整个流量,但我没有收到我发送的数据包的任何响应。

这是我的完整代码存储库:https ://github.com/jonathans04/NetworkReddirect