scapy学习笔记(1)

简介: 转载请注明:小五义 http://www.cnblogs.com/xiaowuyi   scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。

转载请注明:小五义 http://www.cnblogs.com/xiaowuyi

 

scapy是python写的一个功能强大的交互式数据包处理程序,可用来发送、嗅探、解析和伪造网络数据包,常常被用到网络攻击和测试中。它可

以代替hping,arpspoof.ARP SK,arping,p0f,甚至是部分nmap,Tcpdump和tshark。
一、scapy安装
1、下载
从http://www.secdev.org/projects/scapy/下载release版本,这里我下载的是(executable zip)
2、安装
LINUX平台:
将下载的压缩文件进行解压,转到解压后的目录,然后运行安装。具体步骤如下:
$cd scapy-2.X (解压后的目录)
$sudo python setup.py install


windows平台:

以python2.6为例,安装时,需要安装以下库:
(1)Scapy,最新版本,解压后,运行“”“python setup.py install”进行安装
(2)pywin32:pywin32-214.win32-py2.6.exe
(3)winpcap:WinPcap_4_1_1.exe
(4)pypcap: pcap-1.1-scapy-20090720.win32-py2.6.exe
(5)libdnet:dnet-1.12.win32-py2.6.exe
(6)pyreadline: pyreadline-1.5-win32-setup.exe
具体下载地址请见:http://wikicode.net

3、升级
如果总是希望得到最新的版本,可以scapy的Mercurial库:
(1)安装Mercurial
$ sudo apt-get installl mercurial
(2)检测scapy
$ hg clone http://hg.secdev.org/scapy
(3)安装Scapy
$ cd scapy
$ sudo python setup.py install
邂逅,你就能够总是升级到最新版本:
$ hg pull
$ hg update
$ sudo python setup.py install



二、运行
1、启动
$ sudo scapy
或者
运行python后 import scapy
但要注意:
>>> from scapy import conf
会提出错误,要使用
>>> from scapy.all import conf
2.简单的利用
生成四个IP的包,其中/30得到子网掩码。如下:

Python 2.7.3 (default, Apr 10 2013, 05:09:49)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from scapy.all import *
WARNING: No route found for IPv6 destination :: (no default route?)
>>> IP()
<IP  |>
>>> target="www.baidu.com"
>>> target="www.baidu.com/30"
>>> ip=IP(dst=target)
>>> ip
<IP  dst=Net('www.baidu.com/30') |>
>>> [p for p in ip]
[<IP  dst=61.135.169.104 |>, <IP  dst=61.135.169.105 |>, <IP  dst=61.135.169.106 |>, <IP  dst=61.135.169.107 |>]
>>>

目录
相关文章
|
10月前
|
编解码 索引
RTMP 和 HLS 协议的优缺点
【10月更文挑战第26天】RTMP和HLS协议各有优缺点,在选择使用哪种协议时,需要根据具体的直播场景、观众群体、设备兼容性、服务器性能等因素进行综合考虑,以选择最适合的直播协议。
|
存储 JSON 前端开发
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
本文介绍了在Node.js中使用token实现前端验证码和登录功能的详细流程,包括生成验证码、账号密码验证以及token验证和过期处理。
378 0
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
|
存储 安全 Python
[python]使用标准库logging实现多进程安全的日志模块
[python]使用标准库logging实现多进程安全的日志模块
316 1
|
NoSQL Linux 数据安全/隐私保护
轻松搭建Neo4j图数据库:一步步教你在Docker上安装Neo4j Community Server
轻松搭建Neo4j图数据库:一步步教你在Docker上安装Neo4j Community Server
|
消息中间件 负载均衡 Java
消息队列 MQ使用问题之负载不均衡是什么导致的
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
安全 关系型数据库 MySQL
国产麒麟服务器等保二级 配置规范(一)
国产麒麟服务器等保二级 配置规范(一)
842 0
|
Web App开发 JavaScript 测试技术
软件测试|web自动化测试神器playwright教程(一)
软件测试|web自动化测试神器playwright教程(一)
软件测试|web自动化测试神器playwright教程(一)
|
JavaScript 前端开发 安全
JS渗透测试
JS渗透测试
548 0
|
监控 负载均衡 网络协议
|
分布式计算 网络协议 Go
TELNET协议规范
TELNET 协议的目的是提供一个相当通用的、双向的、面向八位字节的通信设施。它的主要目标是允许终端设备和面向终端的进程相互连接的标准方法。设想该协议还可用于终端-终端通信(“链接”)和进程-进程通信(分布式计算)。
1141 0
TELNET协议规范