本文主要是介绍python scapy 网络包管理工具--基础篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
写在前面
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
这篇关于python scapy 网络包管理工具--基础篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!