Scapy:交互式数据包处理工具

安全 数据安全
Scapy是一款强大的交互式数据包处理工具、数据包生成器、网络扫描器、网络发现工具和包嗅探工具。

Scapy是一款强大的交互式数据包处理工具、数据包生成器、网络扫描器、网络发现工具和包嗅探工具。它提供多种类别的交互式生成数据包或数据包集合、对数据包进行操作、发送数据包、包嗅探、应答和反馈匹配等等功能。Python解释器提供交互功能,所以要用到Python编程知识(例如variables、loops、和functions)。支持生成报告,且报告生成简单。

下载链接:http://down.51cto.com/data/148110

>>去网络安全工具百宝箱看看其它安全工具

scapy2.X安装

linux下比较方便,直接执行下面shell命令即可

  1. $ cd /tmp  
  2. $ wget scapy.net  
  3. $ unzip scapy-latest.zip  
  4. $ cd scapy-2.*  
  5. $ sudo python setup.py install  
  6.  

安装完后,可以直接从shell里启动:(需要root权限)

  1. root@D-Lab:~/python# scapy  
  2.  
  3. INFO: Can't import python gnuplot wrapper . Won't be able to plot.  
  4.  
  5. INFO: Can't import PyX. Won't be able to use psdump() or pdfdump().  
  6.  
  7. WARNING: No route found for IPv6 destination :: (no default route?)  
  8.  
  9. Welcome to Scapy (2.1.0)  
  10. >>>也可以从Python中导入:  
  11. inpython:  
  12. >>> from scapy import TCP  
  13. Traceback (most recent call last):  
  14. File "<stdin>", line 1in <module>  
  15. ImportError: cannot import name TCP  
  16. >>> from scapy.all import TCP  
  17. WARNING: No route found for IPv6 destination :: (no default route?)  
  18. >>> 

注意导入形式,TCP是里面的一个对象,使用from scapy import TCP 时python报错,要使用from scapy.all import TCP.

Scapy基本使用

conf 命令查看当前配置,包括本机的网络配置,其值均为变量,可以修改,例如

conf.verb=1

ls命令

这个ls命令不是linux里的ls,是在scapy环境中的命令,其作用也是list show,ls()不带参数,可以显示所有支持的数据包对象,种类太多了截取一点点贴出来,常见的包都有,包括Ether ,ip,tcp,udp,icmp,smb等等。

  1. >>> ls()  
  2. ARP        : ARP  
  3. ASN1_Packet : None 
  4. BOOTP      : BOOTP  
  5. CookedLinux : cooked linux  
  6. DHCP       : DHCP options  
  7. DHCP6      : DHCPv6 Generic Message)  
  8. DHCP6OptAuth : DHCP6 Option - Authentication  
  9. DHCP6OptBCMCSDomains : DHCP6 Option - BCMCS Domain Name List  
  10. DHCP6OptBCMCSServers : DHCP6 Option - BCMCS Addresses List  
  11. DHCP6OptClientFQDN : DHCP6 Option - Client FQDN 

ls(),同时还可以查看具体的包结构,我觉得通过这个软件学习TCP/IP也是很方便的,例如ls(IP)

  1. >>> ls(IP)  
  2. version    : BitField             = (4)  
  3. ihl        : BitField             = (None)  
  4. tos        : XByteField           = (0)  
  5. len        : ShortField           = (None)  
  6. id         : ShortField           = (1)  
  7. flags      : FlagsField           = (0)  
  8. frag       : BitField             = (0)  
  9. ttl        : ByteField            = (64)  
  10. proto      : ByteEnumField        = (0)  
  11. chksum     : XShortField          = (None)  
  12. src        : Emph                 = (None)  
  13. dst        : Emph                 = ('127.0.0.1')  
  14. options    : PacketListField      = ([])  
  15. >>> 

可以看到IP包头的结构,很清晰,“=”后面的是默认属性,在对象被建立时或者建立后我们都可以修改。

  1. >>> myip=IP(dst='www.d-up.org',src='192.168.73.1')  
  2. >>> ls(myip)  
  3. version    : BitField             = 4               (4)  
  4. ihl        : BitField             = None            (None)  
  5. tos        : XByteField           = 0               (0)  
  6. len        : ShortField           = None            (None)  
  7. id         : ShortField           = 1               (1)  
  8. flags      : FlagsField           = 0               (0)  
  9. frag       : BitField             = 0               (0)  
  10. ttl        : ByteField            = 64              (64)  
  11. proto      : ByteEnumField        = 0               (0)  
  12. chksum     : XShortField          = None            (None)  
  13. src        : Emph                 = '192.168.73.1' (None)  
  14. dst        : Emph                 = Net('www.d-up.org') ('127.0.0.1')  
  15. options    : PacketListField      = []              ([])  
  16. >>> 

 

责任编辑:佟健 来源: d-up.org
相关推荐

2021-05-18 08:00:38

数据包处理Scapy

2021-05-26 08:01:25

数据包Scapy数据安全

2015-10-14 17:59:53

Google数据探索交互开发

2020-12-11 08:00:00

数据可视化工具大数据

2023-10-16 16:14:32

数据中心

2022-07-14 14:37:05

Linux软件开发工具

2021-04-01 13:25:46

Node命令工具

2013-09-22 16:22:21

2010-02-24 09:39:25

Python交互式

2023-05-05 18:45:21

Python人工智能机器学习

2019-01-03 09:06:55

Node.js命令行工具 前端

2015-04-07 09:59:19

SDNSDN管理工具分路器

2023-08-11 17:26:51

Pandas数据分析Python

2014-07-16 09:32:34

Pinterest

2020-12-31 10:29:05

数据可视化可视化工具编码

2011-06-13 18:54:12

2024-07-25 08:58:16

GradioPython数据应用

2011-03-01 14:23:39

2017-02-17 09:20:24

rtopSSH监控

2021-08-10 10:28:40

数据中心UPS 系统碳中和
点赞
收藏

51CTO技术栈公众号