【Python】构造数据包Scapy——网络扫描、攻击工具_scapy实现自定义数据包构造

from scapy.all import IP
pkt=IP()
print(pkt)


对于IP来说,最重要的属性是源地址和目标地址,这两个属性在Scapy中使用参数src和dst来设置


要构造一个发往192.168.x.x的IP数据包



ip=IP(dst=“192.168.x.x”)


查看数据包格式的函数ls(),不了解如何为一个IP数据包指定目标地址的时候



from scapy.all import IP,ls
pkt=IP()
ls(pkt)



scapy采用分层的方式构造数据包,通常最底层的协议是Ether--》IP--》TCP/UDP


使用Ether(),这个类可以设置发送方和接收方的MAC地址。产生一个广播数据包,命令如下



Ether(dst=“ff:ff:ff:ff:ff:ff”)


分层是通过"/"实现的。如果一个数据包是由多层协议组合而成,就可以用“/”分开,并按照协议由底而上的顺序从左向右排列


使用Ether()/IP()/TCP()来构造一个TCP数据包



from scapy.all import *
pkt=Ether()/IP()/TCP()
ls(pkt)


构造一个HTTP数据包



pkt=IP()/TCP()/“GET / HTTP/1.0\r\n\r\n”


### 3、Scapy中的常用函数


#### 3.1 频率高的类:


Ether:属性有 源地址、目标地址和类型


IP:属性有 源地址、目标地址、版本、长度
  • 25
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值