用scapy构造数据包

小明和小红相互写信沟通,一封信就是一个IP包裹。但是我们这次想要搞点恶作剧,比如代小明给小红发消息,下面的payload里装的就是我们的消息。

from scapy.all import *
ming_ip = "10.60.17.46" #  我们要代替小明发信息
hong_ip = "192.168.209.153" #  收信人小红
ming_port = 9999 # source port (sport)
hong_port = 80 # destination port (dport)
payload = "Xiao Hong, he he!" # packet payload 包的载荷,我们的嘿嘿嘿
spoofed_packet = IP(src=ming_ip, dst=hong_ip) / TCP(sport=ming_port, dport=hong_port) / payloadprint(spoofed_packet)send(spoofed_packet)

/符号被重载为“叠加”,上面我们把IP()/TCP()/payload很自然的表示这个ip包里边儿是个tcp,tcp里边装了我们的payload内容。而这个spoofed_packet就像汉堡一样,是一层一层累好了的IP包,非常方便。举一反三,send(IP(dst="192.168.1.1")/ICMP())这条程序其实就可以理解为在命令行中ping 192.168.1.1只不过只是发送icmp,而木有接收部分罢了。

ARP(op=1, hwdst="ff:ff:ff:ff:ff:ff", pdst=ip_address)
#arp类的构造函数列表:
>>> ls(ARP)
hwtype     : XShortField          = (1)
ptype      : XShortEnumField      = (2048)
hwlen      : ByteField            = (6)
plen       : ByteField            = (4)
op         : ShortEnumField       = (1) 取值为1或者2,代表ARP请求或者响应包。
hwsrc      : ARPSourceMACField    = (None) 发送方Mac地址。
psrc       : SourceIPField        = (None) 发送方IP地址。
hwdst      : MACField             = ('00:00:00:00:00:00') 目标Mac地址。
pdst       : IPField              = ('0.0.0.0') 目标IP地址。
ether_pkt = Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(op=1, pdst=ip_address)>>> ls(Ether)
dst        : DestMACField         = (None) 目的MAC
src        : SourceMACField       = (None) 源MAC
type       : XShortEnumField      = (36864)
这个op选项很重要,1为ARP请求,2为ARP应答
构造一个以太网数据包通常需要指定目标和源MAC地址,如果不指定,默认发出的就是广播包ff:ff:ff:ff:ff:ff

Python黑帽子编程—使用scapy构造数据包相关推荐

  1. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(三):scapy——网络的掌控者

    目录 前言 1.窃取email认证 2.ARP缓存投毒 3.PCAP文件处理 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码,并自己将其中一些改写成P ...

  2. PYTHON黑帽编程 4.1 SNIFFER(嗅探器)之数据捕获(下)

    上一节(<4.1 SNIFFER(嗅探器)之数据捕获(上)>)中, 我们讲解了通过Raw Socket的方式来编写Sniffer的基本方法. 本节我们继续来编写Sniffer,只不过使用现 ...

  3. 关于《Python黑帽子:黑客与渗透测试编程之道》的学习笔记

    本篇文章是学习<Python黑帽子:黑客与渗透测试编程之道>的笔记,会持续地将书上的代码自己敲一遍,从而让自己对Python的安全编程有更多的了解,同时希望各位可以给给建议,不足之处太多了 ...

  4. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(四):web攻击

    目录 前言 1.urllib2 2.开源web应用安装 3.破解目录和文件位置 4.破解HTML表格认证 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源 ...

  5. Python黑帽子--黑客与渗透测试编程之道 python3 实现代码

    最近在看 Python黑帽子–黑客与渗透测试编程之道 这本书 发现这本书的代码实现都是使用python2 的于是我就想使用python3来实现 缓慢更新中 python2版本 有一个博主写的特别好 这 ...

  6. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(二):原始套接字和流量嗅探

    目录 前言 1.Windows和Linux上的包嗅探 2.解码IP层 3.解码ICMP层 4.发现主机 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码 ...

  7. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(五):扩展burp代理

    目录 前言 1.burp的fuzz脚本 2.burp中利用Bing服务 3.利用网站内容生成密码字典 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书中源码, ...

  8. 《Python黑帽子:黑客与渗透测试编程之道》读书笔记(九):自动化攻击取证

    目录 前言 1.Volatility配置 2.抓取口令的哈希值 3.直接代码注入 4.插入shellcode 结语 前言 <Python黑帽子:黑客与渗透测试编程之道>的读书笔记,会包括书 ...

  9. Python黑帽子-黑客与渗透测试编程之道

    Python黑帽子-黑客与渗透测试编程之道 时间:2018年4月28日 前言 本文参考了两篇资料,优化补全了代码内容 giantbranch 的 Python黑帽子–黑客与渗透测试编程之道 意闲 的 ...

最新文章

  1. 记一次Quartz重复调度(任务重复执行)的问题排查
  2. 教程 | Caffe在Windows10系统上安装与配置
  3. PostgreSQL的xlog实验一
  4. 深入浅出设计模式原则之接口隔离原则(ISP)
  5. Django Channels 入门指南
  6. python地理空间分析指南pdf邓世超_Python地理空间分析指南(第2版)源代码.zip
  7. python os path_python os.path模块
  8. matlab cell计算,MATLAB Cell数组 | 学步园
  9. Redis 高可用篇:你管这叫 Sentinel 哨兵集群原理
  10. LitJson使用范例
  11. 北大中文核心期刊目录2021年 电工技术
  12. VHDL学习--分频器
  13. 电子学:第010课——实验 9:时间与电容器
  14. UVA10859 放置街灯 Placing Lampposts(树状DP)
  15. 既是剧中人,亦是局外客
  16. 简单理解Hadoop(Hadoop是什么、如何工作)
  17. 物联网应用-分布式对象储存工具-MinIO 对象存储win部署及使用
  18. ‘gbk‘ codec can‘t encode character ‘\xbb‘ in position xxx: illegal multibyte sequence
  19. java中用Calendar获取各个阶段时间
  20. R语言 因子分析 代码 可视化

热门文章

  1. 第九届山东理工大学ACM网络编程擂台赛 热身赛 sdut4087 ldq's Sons
  2. 计算机游戏的作文,第一次玩电脑游戏作文
  3. 安卓图书馆借阅占座座位app毕业设计
  4. python朴素贝叶斯分类器实现_用scikit-learn实现朴素贝叶斯分类器
  5. SSM实现商城管理系统
  6. MATLAB和SIMULINK硬件支持包安装的问题总结
  7. 怎么测ASEMI整流桥KBPC3510W电压,KBPC3510W怎么判别好坏
  8. 产品经理入门必备书籍
  9. Windows AD证书服务系列---部署及管理证书模板(1)
  10. 如何查询快递单号物流未签收的单号