当前位置:   article > 正文

scapy使用_scapy安装 linux

scapy安装 linux

一.scapy的安装

1. linux上python3中scapy的安装

  1. 些扩展功能安装,可选
    pip3 install matplotlib pyx cryptography
    matplotlib是用来绘图的库
    pyx是用来生成 PostScript, PDF, and SVG文件的库
    python-cryptography库和加密解密相关,如WEP decryption/encryption,IPsec encryption/authentication
  2. 安装scapy
    pip3 install scapy

2. windows上python3中scapy的安装

直接用pycharm安装scapy
  • 1

2. 启动和使用scapy交互shell

  1. 用本机默认值直接生成数据包
    在scapy中,应用层之下的数据包,基本使用协议大写对应的方法就可以直接生成,如果不加任何参数,数据包中各字段的值是根据本机信息自动生成的:
    使用Ether()方法生成一个以太网层数据包
    eth_packet = Ether()
    使用IP()方法生成一个网络层数据包
    ip_packet = IP()
    使用TCP()方法生成一个tcp数据包
    tcp_packet = TCP()
    使用UDP()方法生成一个udp数据包
    udp_packet = UDP()
    使用ICMP()方法生成一个udp数据包
    icmp_packet = ICMP()
  2. 查看数据包
    我们需要一些方法来知道数据包(各字段)是什么内容。
    哪个协议的数据包查看都是类似的,我们这里以一个tcp数据包为例,查看其他协议的数据包类似操作即可。

    方法一、使用raw()方法查看
    在这里插入图片描述
    方法二、使用hexdump()查看。类似Wireshark
    在这里插入图片描述
    方法三、raw()配合协议类查看
    查看该数据包网络层内容(下层内容不层示,上层内容不解析只以load形式展示)
    在这里插入图片描述
  3. 自定义包的字段值
    定义字段的值有两个种方法,一种是在构造时直接传递参数,另一种是在生成后重新赋值;至于参数名即是上一小节中打出的那些项。
    以修改源IP地址和TTL为例。

    方法一,在构造时直接传递参数
    给src传值192.168.40.123,ttl传值123;字段为字符的以字符串形式传,字段为数值的以数值形式传
    在这里插入图片描述
    方法二,在生成后重新赋值

在这里插入图片描述
4. 同时定义多层协议的字段
构造多层协议,构造函数可使用“/”隔开,低层函数在前高层函数在后;最后使用构造函数中的最低层函数即可查看数据包内容。
构造一个IP数据包,源mac设置为"00:00:00:00:00:11",源ip设置为"192.168.40.123"
在这里插入图片描述
当前构造函中最低层为Ether
在这里插入图片描述
定义一个TCP数据包,源mac设置为"00:00:00:00:00:11",源ip设置为"10.10.6.92",源端口设置为1234
当前构造函中最低层为Ether
在这里插入图片描述
定义一个应用层数据包,应用层内容为"GET / HTTP/1.0\r\n\r\n"
当前构造函中最低层为IP
在这里插入图片描述5. 发送和接收数据包
在这里插入图片描述
5. 发送并接收响应数据包

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/156930
推荐阅读
相关标签
  

闽ICP备14008679号