Q1 - 是否可以捕获DNS请求/响应库?用PCap.Net捕获DNS响应?
Q2 - 如果是的话,一旦我有数据包,是否有人有任何示例代码 ,说明我如何从DNS响应中提取字段?在 中特别提供了DNS针对给定的DNS名称 解析的IP地址。
Q1 - 是否可以捕获DNS请求/响应库?用PCap.Net捕获DNS响应?
Q2 - 如果是的话,一旦我有数据包,是否有人有任何示例代码 ,说明我如何从DNS响应中提取字段?在 中特别提供了DNS针对给定的DNS名称 解析的IP地址。
是的,这是可能的。
示例代码将是对长边位,但...
从本质上说,您需要:
然后根据RFC 1035中给出的非常详细的描述来处理数据包的其余部分。
在实践中,这意味着:
QR == 1
)RCODE == 0
和ANCOUNT > 0
为了进一步复杂化,你必须处理DNS标签(系列<count><data...>
领域),并可能过于处理压缩标签事宜!
这听起来很讨厌,但实际上它们都不是那很难。我有C++代码可以完成所有这些工作,但时间并不长,但我无法发布它。
非常好 - 谢谢Alnitak,如果可以的话,今天我会给出这个答案 – Greg 2010-08-17 21:00:52
Alnitak - 我正在设法接收UDP数据包,但是我不太确定如何从PcapDotNet.Packets.Transport中分解出来.UdpDatagram对象级别进一步?这里有一个快照,我可以在VS2010中看到postimage.org/image.php?v=aV7un3J。我想手动解析“((packet.Ethernet.IpV4.Udp).Payload).Buffer”值例如? – Greg 2010-08-19 10:07:54
nb:不正确的编辑我的英国英文拼写还原... – Alnitak 2010-08-21 14:31:03
请参阅http://pcapdotnet.codeplex.com/Thread/View.aspx?ThreadId=223803 – brickner 2010-08-22 09:15:36
中的讨论DNS解析器正在为SharpPcap开发。为所有用例动态解析问题/答案可能变得非常多毛,但它在不久的将来会出现在待办事项列表中。 – 2011-02-28 12:28:52
Evan - 对于古代线程的复兴感到遗憾,但是SharpPcap的DNS解析器是否完成?我正在寻找使用SharpPcap/Packet.Net解析DNS请求和响应数据包,但在最新的下载(或在网络上)中没有找到。谢谢! – 2013-08-18 00:58:36