hello python scapy dns
分类:
今天初步了解一下python scapy库,非常强大!
比如发送一个DNS查询包:
a)使用C语言实现
需要自己创建socket, 构造IP包,构造UDP包,构造DNS查询包,计算IP包校验和,计算UDP包校验和……
b)使用python实现
核心代码就6行,
而且神奇的是竟然可以用 “a/b/c” 这种表达式,表示每层的承载关系!
python示例代码:
#!/usr/bin/python
from scapy import *
from scapy.all import *
import random
ip_pkt = IP(dst='8.8.8.8',src='192.168.1.1')
udp_pkt = UDP(dport=53,sport=random.randint(50000,60000))
dns_pkt = DNS(id=1,qr=0,opcode=0,tc=0,rd=1,qdcount=1,ancount=0,nscount=0,arcount=0)
dns_pkt.qd=DNSQR(qname='www.qq.com',qtype=1,qclass=1)
send_pkt = ip_pkt/udp_pkt/dns_pkt
send(send_pkt)
后面陆续更新强大内容……
相关资料:
http://scapy.readthedocs.io/en/latest/index.html
查看评论
暂无评论