现在的位置: 首页 > 综合 > 正文

python 网络报文模拟和端口扫描库 scapy的使用

2018年04月12日 ⁄ 综合 ⁄ 共 1484字 ⁄ 字号 评论关闭

scapy学习笔记(1)

转载请注明:小五义 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 |>]

>>>

抱歉!评论已关闭.