scapy

scapy是一个强大的python网络数据包处理库,它可以生成或解码网络协议数据包,可以用来端口扫描、探测、网络测试等。

scapy安装

pip install scapy

简单使用

scapy提供了一个简单的交互式界面,直接运行scapy命令即可进入。当然,也可以在python交互式命令行中导入scapy包进入

from scapy.all import *

查看所有支持的协议和预制工具:

ls()
lsc()

构造IP数据包

pkt=IP(dst="8.8.8.8")
pkt.show()
print pkt.dst  # 8.8.8.8
str(pkt)       # hex string
hexdump(pkt)   # hex dump

输出HEX格式的数据包

import binascii
from scapy.all import *
a=Ether(dst="02:ac:10:ff:00:22",src="02:ac:10:ff:00:11")/IP(dst="172.16.255.22",src="172.16.255.11", ttl=10)/ICMP()
print binascii.hexlify(str(a))

TCP/IP协议的四层模型都可以分别构造,并通过/连接

从PCAP文件读入数据

发送数据包

嗅探数据包

SYN扫描

TCP traceroute

ARP Ping

ICMP Ping

TCP Ping

最后更新于