问题标签 [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 投票
1 回答
320 浏览

capture - 与 pcap.net 中断后继续捕获

我正在使用 pcap.net。

我有一个接收数据包的通信器。在某些时候,我调用 Break() 函数来停止捕获。在我停止捕获后,我想在某个时候继续捕获..

我再次尝试使用 RecievePackets(HandlePacket, 0),但我的 GUI 冻结了……我的代码:

有什么帮助吗??谢谢

0 投票
1 回答
181 浏览

c# - c# - 公开在函数内创建的对象

如何在回调函数中使用 main() 中创建的对象“通信器”?PacketCommunicator 类没有构造函数。

我正在使用的库是Pcap.Net。基本上,我要做的是在一个接口上捕获数据包,对它们执行 NAT,然后在另一个接口上发送它们。

0 投票
1 回答
3798 浏览

c# - 在 Pcap.NET 中创建有效的 TCP 连接

我正在尝试创建到我的测试服务器的有效 TCP 连接以模拟 GET 请求。希望我非常接近解决方案。

使用来自真实请求的 Wireshark 数据,我在发送一个包时设法获得SYN&SYN-ACK使用PacketCommunicator.SendPacket()

在此处输入图像描述

但是,我似乎无法ACK出现。

第一个数据包使用EthernetLayer,IpV4Layer和 a构造TcpLayer,而后者(当前不工作)使用刚刚提到的 + a HttpRequestLayer

最后一个数据包TcpLayerControlBits设置为TcpControlBits.Acknowledgment。尽管如此,它并没有像我的“真实” GET 请求那样出现在 WireShark 中。

希望我已经发布了代码的相关部分。如果没有 - 请告诉我。

0 投票
1 回答
746 浏览

c# - pcap.net 通信器在线程停止时缓冲数据包

我正在使用 pcap.net 来捕获数据包。捕获数据包的方法正在新线程中运行。当我想停止/恢复捕获时,我使用 ManualResetEvent 来停止/恢复线程。

它工作正常,问题是当我中断捕获并重新启动它(停止并恢复线程) - 通信器接收到在线程停止期间到来的数据包。我认为这是因为通信器的缓冲区。

是希望通信器在线程停止时不获取数据包,并在线程恢复时再次获取数据包。有什么帮助吗?

我的代码:

非常感谢!

0 投票
1 回答
444 浏览

c# - Pcap.Net BadImageFormatException 未处理

您好,我是使用 PCAP.net 的新手,我遇到了这个错误。

在此处输入图像描述

0 投票
1 回答
531 浏览

c# - 使用 PcapDotNet DLL 更改数据包 IP 地址后,除了数据包 IP 地址已更改外,还有其他值

PcapDotNet在我的应用程序中使用 DLL,并且在更改数据包IP Address时,似乎除了IP Address.

这就是我改变的方式IP Address

例如,原始数据包是:

http://i.stack.imgur.com/vEWuS.jpg

而IP地址改变后的新数据包:

http://s8.postimg.org/4o78hzmyt/New_Packet.jpg

正如您在将IP Addressfrom 212.25.99.74into更改后看到的那样80.81.82.83,另外 2 个字节发生了变化: from e6 16into7a d6

这是更改IPv4数据包的方法还是它的错误?这 2 个字节是什么?

0 投票
1 回答
580 浏览

c# - 在 PcapDotNet 上将 UDP/TCP 校验和设置为 null

我使用这个项目 DLL 并在更改 IP 地址后:

在构建数据包之前,我需要将 UDP/TCP 校验和设置为空,因此请尝试;

但是 ushort 是一个不可为空的值类型,知道怎么做吗?

0 投票
0 回答
757 浏览

c# - 使用 PcapDotNet 拆分数据包(分段)

我尝试使用拆分数据包(碎片)PcapDotNet并找到了这个

所以这是我的功能:

问题是,在播放这个文件后,我可以看到与原始Wireshark文件中相同数量的数据包,因此这意味着某些东西不起作用,并且协议字段Wiresahrk将这个数据包识别为IPV4,这就是这个数据包的外观(我想我已经建立此数据包无效):

在此处输入图像描述

0 投票
1 回答
84 浏览

c# - Extract layers recursively (w/o knowing how many there are in a packet)

I need to make a tool that modifies the VLanTaggedFrame.VLanIdentifier in a packet. The problem is, my packets may have multiple vlan tags.

realistically it’s between 1~3 tags but I want to make a recursive procedure and not make a chain of if statements.

I need some way to extract every VLanTaggedFrame layer (into a list or array) without knowing how many there are (as long as x.EtherType == EthernetType.VLanTaggedFrame , but where x is constantly changing stack of layers).

Any idea how I can do this?

My main direction was taking the packet.ethernet.vlantaggedframe.payload, but it’s of Datagram type and there seem to be no ‘<em>payload’ in datagram type object, so I can’t do x = x.payload recursively.

any help will be appreciated :)

0 投票
2 回答
4208 浏览

c# - 如何在我的项目中使用 Pcap.Net?

我想在我的 C# 项目中使用 Pcap.Net。我下载并添加对项目的 .dll 引用。

该项目成功构建,但是当我运行它时,出现以下异常。

我该怎么办?