【发布时间】:2011-03-31 22:04:24
【问题描述】:
如何在 .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 地址。
【问题讨论】:
-
WinPCAP不是自带一堆解析器吗?
-
转到Newtwork Monitor API microsoft.com/downloads/…
-
@Will - 我可以深入了解 UDP,但它只是解析携带我感兴趣的 DNS 响应的 UDP 数据包的详细信息。
-
@Amit - 你是否建议我使用 PCap.Net 进行数据包捕获,一旦我获得了 UDP 有效负载,就有可以在 Microsoft 网络监视器中使用的 UDP/DNS 解析器图书馆?
-
我已经在你的其他相关问题中给了你一堆指针(包括相关的 RFC)。请去阅读那个 RFC - 你会学到一个该死的网站,而不仅仅是使用别人的 API。
标签: c# .net dns udpclient pcap.net