Networking 伪造DNS响应
我使用scapy拦截DNS请求并伪造响应。拦截和伪造部件工作正常,伪造数据包的发送似乎正常(至少我可以看到指示Networking 伪造DNS响应,networking,dns,wifi,wireshark,scapy,Networking,Dns,Wifi,Wireshark,Scapy,我使用scapy拦截DNS请求并伪造响应。拦截和伪造部件工作正常,伪造数据包的发送似乎正常(至少我可以看到指示sendp功能成功的点)。但是,在目标站我没有收到数据包——或者我在Wireshark上没有看到它 我不知道我的问题在哪里,但我猜它不在DNS/UDP部分(数据包在Wireshark中可见)。因此,它可能位于802.11或IP层 这是一个请求: 192.168.2.117 (a4:4e:31:5c:54:78) -> 194.2.0.50 (00:14:d1:ad:9f:88) D
sendp
功能成功的点)。但是,在目标站我没有收到数据包——或者我在Wireshark上没有看到它
我不知道我的问题在哪里,但我猜它不在DNS/UDP部分(数据包在Wireshark中可见)。因此,它可能位于802.11或IP层
这是一个请求:
192.168.2.117 (a4:4e:31:5c:54:78) -> 194.2.0.50 (00:14:d1:ad:9f:88)
DNS request for www.youtube.com.
###[ RadioTap dummy ]###
version = 0
pad = 0
len = 38
present = TSFT+Flags+Rate+Channel+dBm_AntSignal+b14+b29+Ext
notdecoded= ' \x08\x00\xa0 \x08\x00\x00\xc8+\xa3\x10\x00\x00\x00\x00\x10l\x9e\t\xc0\x00\xd5\x00\x00\x00\xcd\x00\xd4\x01'
###[ 802.11 ]###
subtype = 8L
type = Data
proto = 0L
FCfield = to-DS
ID = 11264
addr1 = 00:14:d1:ad:9f:88
addr2 = a4:4e:31:5c:54:78
addr3 = 00:25:9c:9a:aa:b1
SC = 4272
addr4 = None
###[ 802.11 QoS ]###
TID = 0L
EOSP = 0L
Ack Policy= 0L
Reserved = 0L
TXOP = 0
###[ LLC ]###
dsap = 0xaa
ssap = 0xaa
ctrl = 3
###[ SNAP ]###
OUI = 0x0
code = 0x800
###[ IP ]###
version = 4L
ihl = 5L
tos = 0x0
len = 61
id = 213
flags =
frag = 0L
ttl = 128
proto = udp
chksum = 0xb489
src = 192.168.2.117
dst = 194.2.0.50
\options \
###[ UDP ]###
sport = 50648
dport = domain
len = 41
chksum = 0x7b3c
###[ DNS ]###
id = 64118
qr = 0L
opcode = QUERY
aa = 0L
tc = 0L
rd = 1L
ra = 0L
z = 0L
rcode = ok
qdcount = 1
ancount = 0
nscount = 0
arcount = 0
\qd \
|###[ DNS Question Record ]###
| qname = 'www.youtube.com.'
| qtype = A
| qclass = IN
an = None
ns = None
ar = None
###[ Padding ]###
load = '\xb2\x17\xa3\x8a'
以及伪造的答复:
###[ RadioTap dummy ]###
version = 0
pad = 0
len = 38
present = TSFT+Flags+Rate+Channel+dBm_AntSignal+b14+b29+Ext
notdecoded= ' \x08\x00\xa0 \x08\x00\x00\xc8+\xa3\x10\x00\x00\x00\x00\x10l\x9e\t\xc0\x00\xd5\x00\x00\x00\xcd\x00\xd4\x01'
###[ 802.11 ]###
subtype = 8L
type = Data
proto = 0L
FCfield = from-DS
ID = 11264
addr1 = a4:4e:31:5c:54:78
addr2 = 00:14:d1:ad:9f:88
addr3 = 00:25:9c:9a:aa:b1
SC = 14272
addr4 = None
###[ 802.11 QoS ]###
TID = 0L
EOSP = 0L
Ack Policy= 0L
Reserved = 0L
TXOP = 0
###[ LLC ]###
dsap = 0xaa
ssap = 0xaa
ctrl = 3
###[ SNAP ]###
OUI = 0x0
code = 0x800
###[ IP ]###
version = 4L
ihl = 5L
tos = 0x0
len = None
id = 213
flags =
frag = 0L
ttl = 128
proto = udp
chksum = None
src = 194.2.0.50
dst = 192.168.2.117
\options \
###[ UDP ]###
sport = domain
dport = 50648
len = None
chksum = None
###[ DNS ]###
id = 64118
qr = 1L
opcode = QUERY
aa = 0L
tc = 0L
rd = 1L
ra = 1L
z = 0L
rcode = ok
qdcount = 1
ancount = 1
nscount = 0
arcount = 0
\qd \
|###[ DNS Question Record ]###
| qname = 'www.youtube.com.'
| qtype = A
| qclass = IN
\an \
|###[ DNS Resource Record ]###
| rrname = 'www.youtube.com.'
| type = A
| rclass = IN
| ttl = 900
| rdlen = 4
| rdata = '192.168.2.100'
ns = None
ar = None
###[ Padding ]###
load = '\xb2\x17\xa3\x8a'
我试图用一个有效的DNS响应进行检查,我看不出有任何差异可以解释我的问题。我试图修改ID
和SC
字段,但没有任何改变。addr3
不会更改
您是否看到一个错误,解释了为什么目标没有收到它?嗯,您的IP响应的长度是“无”。这在处理过程中并不顺利。:)这是显而易见的突出点。此外,即使添加了数据,顶部的总长度也不会改变 我不确定sport/dport=domain是什么意思;我假设那是53号端口
IP ID字段在查询/响应中通常应该不同,但这不会影响此处的结果 那么,您的IP响应的长度是“无”。这在处理过程中并不顺利。:)这是显而易见的突出点。此外,即使添加了数据,顶部的总长度也不会改变 我不确定sport/dport=domain是什么意思;我假设那是53号端口
IP ID字段在查询/响应中通常应该不同,但这不会影响此处的结果 你检查过窃听器上的东西了吗?您的问题可能是数据报不是通过内核堆栈发送的。您也可以使用最新的github版本重试,它在处理RadioTap标头方面有很多改进(您不会得到“notdecoded”部分)您是否检查了wiresharks在拦截机上看到的内容?您的问题可能是数据报不是通过内核堆栈发送的。您也可以使用最新的github版本重试,它有很多改进处理RadioTap头(您不会得到“notdecoded”部分)不不不,scapy在构建数据包时填充了很多None字段。如果他提供了
packet.show2()
(构建后的数据包)的结果会更好。关于顶部,你是对的。他可以将其设置为None,以便scaly处理它。不,scapy在构建数据包时会填充许多None字段。如果他提供了packet.show2()
(构建后的数据包)的结果会更好。关于顶部,你是对的。他可以将其设置为“无”,以便scaly处理它