问题标签 [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.
capture - 与 pcap.net 中断后继续捕获
我正在使用 pcap.net。
我有一个接收数据包的通信器。在某些时候,我调用 Break() 函数来停止捕获。在我停止捕获后,我想在某个时候继续捕获..
我再次尝试使用 RecievePackets(HandlePacket, 0),但我的 GUI 冻结了……我的代码:
有什么帮助吗??谢谢
c# - c# - 公开在函数内创建的对象
如何在回调函数中使用 main() 中创建的对象“通信器”?PacketCommunicator 类没有构造函数。
我正在使用的库是Pcap.Net。基本上,我要做的是在一个接口上捕获数据包,对它们执行 NAT,然后在另一个接口上发送它们。
c# - 在 Pcap.NET 中创建有效的 TCP 连接
我正在尝试创建到我的测试服务器的有效 TCP 连接以模拟 GET 请求。希望我非常接近解决方案。
使用来自真实请求的 Wireshark 数据,我在发送一个包时设法获得SYN
&SYN-ACK
使用PacketCommunicator.SendPacket()
:
但是,我似乎无法ACK
出现。
第一个数据包使用EthernetLayer
,IpV4Layer
和 a构造TcpLayer
,而后者(当前不工作)使用刚刚提到的 + a HttpRequestLayer
。
最后一个数据包TcpLayer
的ControlBits
设置为TcpControlBits.Acknowledgment
。尽管如此,它并没有像我的“真实” GET 请求那样出现在 WireShark 中。
希望我已经发布了代码的相关部分。如果没有 - 请告诉我。
c# - pcap.net 通信器在线程停止时缓冲数据包
我正在使用 pcap.net 来捕获数据包。捕获数据包的方法正在新线程中运行。当我想停止/恢复捕获时,我使用 ManualResetEvent 来停止/恢复线程。
它工作正常,问题是当我中断捕获并重新启动它(停止并恢复线程) - 通信器接收到在线程停止期间到来的数据包。我认为这是因为通信器的缓冲区。
是希望通信器在线程停止时不获取数据包,并在线程恢复时再次获取数据包。有什么帮助吗?
我的代码:
非常感谢!
c# - Pcap.Net BadImageFormatException 未处理
您好,我是使用 PCAP.net 的新手,我遇到了这个错误。
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 Address
from 212.25.99.74
into更改后看到的那样80.81.82.83
,另外 2 个字节发生了变化: from e6 16
into7a d6
这是更改IPv4
数据包的方法还是它的错误?这 2 个字节是什么?
c# - 在 PcapDotNet 上将 UDP/TCP 校验和设置为 null
我使用这个项目 DLL 并在更改 IP 地址后:
在构建数据包之前,我需要将 UDP/TCP 校验和设置为空,因此请尝试;
但是 ushort 是一个不可为空的值类型,知道怎么做吗?
c# - 使用 PcapDotNet 拆分数据包(分段)
我尝试使用拆分数据包(碎片)PcapDotNet
并找到了这个
所以这是我的功能:
问题是,在播放这个文件后,我可以看到与原始Wireshark
文件中相同数量的数据包,因此这意味着某些东西不起作用,并且协议字段Wiresahrk
将这个数据包识别为IPV4
,这就是这个数据包的外观(我想我已经建立此数据包无效):
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 :)
c# - 如何在我的项目中使用 Pcap.Net?
我想在我的 C# 项目中使用 Pcap.Net。我下载并添加对项目的 .dll 引用。
该项目成功构建,但是当我运行它时,出现以下异常。
我该怎么办?