hello python scapy dns

标签:python   scapy   dns    4503人阅读 评论(0)
分类:

今天初步了解一下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)



后面陆续更新强大内容……


相关资料:

https://www.python.org 

http://scapy.readthedocs.io/en/latest/index.html 


查看评论

暂无评论

发表评论
  • 评论内容:
      
首页
团队介绍
发展历史
组织结构
MESA大事记
新闻中心
通知
组内动态
科研成果
专利
论文
项目
获奖
软著
人才培养
MESA毕业生
MESA在读生
MESA员工
招贤纳士
走进MESA
学长分享
招聘通知
招生宣传
知识库
文章
地址:北京市朝阳区华严北里甲22号楼五层 | 邮编:100029
邮箱:nelist@iie.ac.cn
京ICP备15019404号-1