美文网首页
关于scapy模块

关于scapy模块

作者: ZWRMFW | 来源:发表于2018-05-12 09:19 被阅读0次

scapy是一个可以让用户发送、侦听和解析并伪装网络报文的Python程序。这些功能可以用于制作侦测、扫描和攻击网络的工具。

换言之,Scapy 是一个强大的操纵报文的交互程序。它可以伪造或者解析多种协议的报文,还具有发送、捕获、匹配请求和响应这些报文以及更多的功能。Scapy 可以轻松地做到像扫描(scanning)、路由跟踪(tracerouting)、探测(probing)、单元测试(unit tests)、攻击(attacks)和发现网络(network discorvery)这样的传统任务。它可以代替hping,arpspoof,arp-sk,arping,p0f 甚至是部分的Namp,tcpdump和tshark的功能。

一.

构建一个IP数据包试试

ls方法

用ls()方法可以查看一个IP包都需要什么类型的那些参数,以及默认值

简单的演示

可以看出,scapy模块中包含IP这个类。利用IP类可以构造ip数据包,只要指定包头中的参数值就行。每个参数表现在IP类中是一个属性,他们都有默认值,比如ttl的64。

show方法

可以利用show这个方法来查看你构建的包的情况。

二.

堆加层次(OSI参考模型)

/操作符在两层之间起到一个组合的作用。当使用该操作符时,下层可以根据其上层,使它的一个或多个默认字段被重载。(您仍可以赋予您想要的值)一个字符串也可以被用作原料层(raw layer)。

可以看出,当IP包和TCP包组合之后,IP中的多个属性就被重载了。

 

scapy模块

from scapy.all import *    //来自scapy.all文件,导入所有函数

python交互模式中:ls(*)*=Ether、IP、ICMP、TCP、UDP、ARP    等等,查看可以配置的参数

1.构建包:不同层之间用/分隔(常用)

Ether = Ether(src="源mac",dst="目的mac")    //以太网层 =  二层

IP   = IP(src="源ip",dst="目的ip或者URL")   //IP层   =  三层

XY   = ICMP()、TCP()、UDP() [都可以用dport=目的端口,sport=源端口]//协议封装在IP层  

ARP  = ARP(hwsrc=‘二层源mac‘,psrc=‘三层源IP‘,hwdst=‘二层目的mac‘,pdst=‘三层目的IP‘)     SJ    = padding(load=‘x‘*8)           //数据位,填充 x乘8个    

RandMAC()  任意MAC地址               

RandIP()   任意IP地址

构建二层包:(以Ether层开头)

 如:pkt=Ether/IP/ARP

构建三层包:(以IP层开头)

 如:pkt=IP/XY/SJ

2.只发送

 二层:sendp()  //给定网卡接口

 三层:send()   //自动根据路由表进行路由发送

 如发二层包:

     sendp(pkt,iface="eth0",loop=1,inter=1 )  

 参数:

pkt          构建包的变量

iface="eth0" 选择网卡为eth0

loop=1       循环发送

inter=1      每隔1秒发送

timeout=1    超时1秒就丢弃,实际时间看程序处理能力而定

3.发送并返回

 二层:

     srp()   //发送包, 返回答复和没有答复的包的数量

     srp1() //发送包, 返回只答复或者发送的包的详细信息| .参数,显示这个参数的返回数据

 三层:

     sr(  )  //发送包, 返回答复和没有答复的包的数量

     sr1( ) //发送包, 返回只答复或者发送的包的详细信息|.参数,显示这个参数的返回数据

 如二层发收包:

     srp1(pkt,timeout=1,verbose=0 )

 参数:

        pkt       构建包的变量

        timeout=1 超时1秒就丢弃,实际时间看程序处理能力而定

        verbose=0 不显示详细信息

相关文章

  • 关于scapy模块

    scapy是一个可以让用户发送、侦听和解析并伪装网络报文的Python程序。这些功能可以用于制作侦测、扫描和攻击网...

  • 2017-12-28

    # Scapy Fuzz 模块解析 很久以来,scapy都是一个交互式发包的神器,因为定制所以强大,借助scapy...

  • Python Scapy模块

    对数据包的操作 发送数据包 send()函数会在第三层协议(网络层)发送数据,也就是说它将会处理路由和第二层协议 ...

  • scapy 模块研究

    问题一:Mac平台scapy安装遇到的坑——找不到/dev/pbf* 正确的方法是先去看看/dev文件夹下是否有b...

  • python scapy的用法之ARP主机扫描和ARP欺骗

    python scapy的用法之ARP主机扫描和ARP欺骗 目录: 1.scapy介绍 2.安装scapy 3.s...

  • Linux Python Scapy

    学习自 bilibili 亁颐堂 Scapy 工具介绍 在命令行键入scapy直接进入scapy工具的命令行界面 ...

  • 用Python-scapy实现SYNDdos攻击(1)

    一、用Python的Scapy--Scapy3k实现泛洪攻击 基础知识介绍:SYN介绍SYN 泛洪攻击Scapy3...

  • python解析pcap文件中的http数据包

    使用scapy、scapy_http就可以方便的对pcap包中的http数据包进行解析 scapy_http可以在...

  • python arp 攻击

    借助scapy arp 攻击

  • scapy相关

    python 的 scapy 库可以方便的抓包与解析包 pip install scapy 抓包: from sc...

网友评论

      本文标题:关于scapy模块

      本文链接:https://www.haomeiwen.com/subject/iumxrftx.html