用法

ARP函数

ARP().display()来查看ARP函数用法。

用法:

[ ARP ]

hwtype= 0x1 硬件类型
ptype= 0x800 协议类型
hwlen= 6 硬件地址长度
plen= 4 协议地址长度
op= who-has who-has查询
hwsrc= 00:0c:29:6a 源MAC地址
psrc= 192.168.1.53 源IP地址
hwdst=00:00:00:00:00:00 目标MAC地址
pdst=0.0.0.0 向谁发送请求

IP/ICMP的方式

使用IP().display()来查看格式

[ IP ]

version=4 版本:4
ihl= None 首部长度
tos= 0x0 服务
len= None 总长度
id= 1 标志
flags=
frag= 0
ttl=64 生存时间
proto= hopopt 传输控制协议 IPV6逐跳选项
chksum= None 首部校验和
src= 127.0.0.1 源地址
dst=127.0.0.1 目的地址

定制ping包

使用ping.display()来查看用法

[ ICMP ]

type= echo-request
code= 0
id= 0x0
seq=0x0

注:IP()生成ping包的源IP和目标IP,ICMP()生成ping包的类型。使用IP()和ICMP()两个函数才能生成ping包,进行探测。

思路:

1、修改IP包头的dst,也就是我们的目的地址

2、拼接上ICMP的数据包类型

3、使用sr1()进行发送数据包并接受数据包

定制TCP包

查看tcp()函数用法

TCP.display()

[ TCP ]

sport= ftp_data TCP源端口
dport= http TCP目的端口
seq= 0
ack= 0
dataofs= None 4位首部长度
reserved= 0 保留6位
flags= S 标志域,紧急标志、有意义的应答标志、推、重置连接标志、同步序列号标志、完成发送数据标志。按照顺序排列是:URG、ACK、PSH、RST、SYN、FIN
windows= 8192
chksum= None
urgptr= 0
options= [] 选项

结合IP与TCP定制SYN包

1
sr1(IP(dst="192.168.1.1")/TCP(flag="S",dport=80),timeout=1)