python scapy 网络包管理工具--基础篇

本文介绍了Python的Scapy库,用于网络协议构造和请求。内容包括Scapy的安装、运行模式(交互模式和在Python文件中运行)、构建多层数据包、构造多个数据包以及如何发送网络包。在交互模式下,需要注意网络层次的正确分布。send()和sendp()分别用于第三层和第二层的发包操作。
摘要由CSDN通过智能技术生成

写在前面

scapy 是python的一个库,提供网络协议的构造,请求等
scrapy 是python的爬虫框架。

这两个差一个字母,大家还是要分清楚的。

因为涉及到发包等系统层面的操作,所以请保证具备root权限,这一点贯穿全文。

安装

博主使用的环境有
centos6、centos7、windows10

直接使用pip install scapy就可以安装

运行模式

你可以直接在命令行敲 scapy 进入交互模式
可以采用在py文件中运行。

交互模式

以linux下为例子,直接输入scapy

INFO: Can't import matplotlib. Won't be able to plot.
INFO: Can't import PyX. Won't be able to use psdump() or pdfdump().
INFO: No IPv6 support in kernel
WARNING: No route found for IPv6 destination :: (no default route?)
INFO: Can't import python Crypto lib. Won't be able to decrypt WEP.
INFO: Can't import python Crypto lib. Disabled certificate manipulation tools
INFO: Can't import python ecdsa lib. Disabled certificate manipulation tools

提示缺少库文件,以及IPv6的支持性问题。

这里基本功能用不到这些库,可以选择安装也可以暂时不用安装。

pip install matplotlib提示已经安装
pip install matplotlib --upgrade更新下,(更新的包比较多约30M,不先更新的可以跳过)
(别更新了,更新完还是提示不能使用plot,以及后面几个,即便安装了那个库还是提示不可用啦,巴拉巴拉。但是还好大部分是info,个别是warning.)


开始

>>> a=IP(ttl=10)
>>> a
< IP ttl=10 |>
>>> a.src
’127.0.0.1>>> a.dst="192.168.1.1"
>>> a
< IP ttl=10 dst=192.168.1.1 |>
>>> a.src
’192.168.8.14>>> del(a.ttl)
>>> a
< IP dst=192.168.1.1 |>
>>> a.ttl
64

以上就是在IP造包的一些简单操作。
如果对IP协议的TTL不了解顺手看下 http://www.cnblogs.com/awpatp/archive/2010/05/27/1745883.html

构建多层数据包

如何加入TCP层信息,或者以太网信息呢?

>>> IP()
<I
  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值