我有DNS的python/scapy嗅探器。我可以嗅探DNS消息并获取IP/UDP源和目标IP地址及端口,但解析DNS部分时遇到问题 我希望能得到一些帮助或解决办法。
#!/usr/bin/env python
from scapy.all import *
from datetime import datetime
import time
import datetime
import sys
############# MODIFY THIS PART IF NECESSARY ###############
interface = 'eth0'
filter_bpf = 'udp and port 53'
# ------ SELECT/FILTER MSGS
def select_DNS(pkt):
pkt_time = pkt.sprintf('%sent.time%')
# ------ SELECT/FILTER DNS MSGS
try:
if DNSQR in pkt and pkt.dport == 53:
# queries
print '[**] Detected DNS QR Message at: ' + pkt_time
#
elif DNSRR in pkt and pkt.sport == 53:
# responses
print '[**] Detected DNS RR Message at: ' + pkt_time
#
except:
pass
# ------ START SNIFFER
sniff(iface=interface, filter=filter_bpf, store=0, prn=select_DNS)
如果上面的层定义和字段不够,您可以define your own layer并使用自定义层解码包,或者直接从原始有效负载中检索数据。至于时间戳,你可以做pkt.time。
我是在这里登陆的,当时我正在搜索一个捕获的pcap文件
这是我的解决方案:
相关问题 更多 >
编程相关推荐