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

要构造一个发往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:属性有 源地址、目标地址、版本、长度、协议类型、校验和

TCP:源端口、目标端口

3.2 函数

ls()函数:查看一个类所拥有的属性,ls(Ether())

lsc()函数:列出所有可以使用的函数

对属性列表里对应的属性进行设置,将ttl的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值