python scapy模块_python使用scapy模块实现ping扫描

关于scapy

Scapy 是一个可以让用户发送、侦听和解析并伪装网络报文的Python程序。这些功能可以用于制作侦测、扫描和攻击网络的工具。

换言之, Scapy 是一个强大的操纵报文的交互程序。它可以伪造或者解析多种协议的报文,还具有发送、捕获、匹配请求和响应这些报文以及更多的功能。 Scapy 可以轻松地做到像扫描(scanning)、路由跟踪(tracerouting)、探测(probing)、单元测试(unit tests)、攻击(attacks)和发现网络(network discorvery)这样的传统任务。它可以代替 hping , arpspoof , arp-sk , arping , p0f 甚至是部分的 Namp , tcpdump 和 tshark 的功能

对于我来言,我认为scapy最强大的特点就是scapy解码不解释,比如我们在用nmap进行扫描的时候,结果往往是nmap已经根据返回包的特征,然后输出自己推测的结果,但是scapy是直接输出返回包的内容,这样我们可以判断的更加准确

实现过程

接下来我将详细的介绍如何使用scapy模块编写一个简单的内网扫描工具。

我先说一下我的脚本整个大致流程:

1.首先我们应该编写出能够像单个IP发送ICMP包并接受回包的代码

2.其次我们应该开启多进程,从而让该脚本可以快速扫描整个网段的主机存活情况

那么我们接下来就开始上面的流程。

单进程发包

首先我们需要导入scapy模块,这里要强调一下,scapy的v2版本的导入与别的模块导入方式不同,需要特殊的书写方式,否则scapy模块中的某些功能将无法使用

from scapy.all import *

from random import randint

你可能感兴趣的:(python,scapy模块)