问题标签 [sharppcap]

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 投票
3 回答
16100 浏览

c# - 如何使用 SharpPcap 捕获 HTTP 数据包

我想捕获我机器的所有传入 HTTP 数据包。为此,我使用了 SharpPcap,它是一个 WinPcap 包装器。

SharpPcap 工作得很好,但它捕获 TCP 数据包,这太低级了,无法满足我的要求。有谁知道我怎样才能从所有这些 TCP 数据包中轻松获得完整的 HTTP 请求/响应?

谢谢

0 投票
3 回答
3939 浏览

c# - SharpPcap 问题

这是我第一次使用 SharpPcap 库。

我使用 VC# 2008 创建了新项目,并添加了 SharpPcap 作为对我项目的引用。我发布了一个示例代码来获取我的电脑的接口,但我收到了这个错误:

错误 1 ​​找不到类型或命名空间名称“PcapDeviceList”(您是否缺少 using 指令或程序集引用?) C:\Users\Ali\Documents\Visual Studio 2008\Projects\Pcap\Pcap\Form1.cs 28 13 Pcap

请建议解决这个问题。

这是我的代码:

0 投票
2 回答
3583 浏览

c# - C# SharpPcap 跨线程操作无效

您好我正在尝试将 SharpPcap 新版本 SharpPcap-2.2.0rc1.src 中的示例 3 中的数据包捕获从控制台应用程序转换为 Windows 窗体应用程序。

当我尝试将数据包添加到 ListView 控件时,我遇到了一个问题,我会收到一个错误:

(跨线程操作无效:控件“listViewPackets”从创建它的线程以外的线程访问。)

在这一行:
listViewPackets.Items.Add(e.Packet.ToString());

有什么建议可以解决这个问题???

这是我的代码:

.................................................................. ...................这是原始代码:

0 投票
2 回答
3511 浏览

sharppcap - 如何转换为字符串并从 TCP 数据包中读取数据

我使用sharpcap 来捕获TCP 数据包。现在我想从 TCP 数据包重建 HTTP 数据包,但我不知道如何。我在某处读到我可以在 TCP 数据中找到 HTTP 数据包的开始...我尝试使用以下代码将 byte[] TCP 数据转换为字符串: string s = System.Text.Encoding.UTF8.GetString(tcp_pack.Data); 但字符串不可读。就像一个用记事本打开的二进制文件。是因为数据被加密还是代码不正确?如何从 TCP 数据包重建 HTTP 数据包?

0 投票
3 回答
1541 浏览

c# - 确定 HTTP 数据包

问候,

如果数据包是http数据包,如何使用sharpcap从捕获的数据包中确定?

如果数据包是 HTTP,我们可以确定 frpm TCP 数据包吗?

0 投票
2 回答
1383 浏览

packet-capture - 使用 Sharppcap 解释数据包

是否可以使用 Sharppcap 解释每个即将到来的数据包?

0 投票
2 回答
1788 浏览

c# - SharpPcap - 从数据包中提取信息的数据包捕获问题

我正在使用 SharpPcap 来捕获数据包。

我正在尝试获取流量类别值,并且正在使用 udp.ipv6.TrafficClass.ToString()。

我遇到此异常的问题:

你调用的对象是空的。

0 投票
1 回答
608 浏览

networking - 为什么注入 libpcap 的数据包会重复?

我正在使用 Sharppcap 来发送数据包作为监控系统的一部分。通常它工作得很好,但我在托管的 vista 机器上遇到了最奇怪的错误,我希望得到你的帮助。

在该虚拟 Vista 机器上,注入的数据包被复制。也就是说,如果我使用 libpcap 发送一个 ping 请求,它会以某种方式被复制,并且我在目标机器上收到两个请求。这两个请求在字节方面几乎相同,它们之间的唯一区别是第二个数据包的 TTL 字段是 1 减去原始数据包的值。

使用wireshark,我可以看到数据包在它(及其克隆)离开vista机器之前被复制了。即使在使用其他工具通过 libpcap(即 PlayCap)注入数据包时,问题也很明显。

有任何想法吗?

0 投票
1 回答
9533 浏览

c# - 在 C# 上使用 SharpPcap 进行 IP 地址欺骗

我将使用 SharpPcap 框架来制作我的欺骗程序,因此我需要在源地址字段中使用另一个 IP 地址编辑我机器的数据包 IP 地址。

我在 SharpPcap 项目上找到了一些示例,但是如何编辑或更改发送数据包的源地址字段?

下面是发送随机数据包的示例代码:

- 设备.SendPacket(字节);

0 投票
4 回答
11270 浏览

c# - 如何确定数据包是否为 RTP/RTCP?

我正在使用基于 WinPCap 构建的 SharpPCap 来捕获 UDP 流量。我的最终目标是从 H.323 捕获音频数据并将这些电话对话保存为 WAV 文件。但首先是第一件事——我需要弄清楚我的 UDP 数据包通过 NIC 是什么。

SharpPCap 提供了一个 UdpPacket 类,让我可以访问消息的 PayloadData。但我不确定如何处理这些数据。这是一个 Byte[] 数组,我不知道如何确定它是 RTP 还是 RTCP 数据包。

我已经用谷歌搜索了这个主题,但那里没有太多内容。任何帮助表示赞赏。