python 使用scapy进行ARP扫描

来源:互联网 发布:后台权限数据库设计 编辑:程序博客网 时间:2024/04/28 12:20

一. 描述

  使用scapy第三方库,编写一个可以对一个网段进行ARP扫描,获得该往段内活跃主机的IP地址和MAC地址。


二. 分析与方案

  1. 首先,从scapy导入相关的模块。
  2. Ether()/ARP()构造ARP包。
  3. srp1()发送与接收ARP包。

代码示例如下:

#!/usr/bin/env python# _*_ coding=utf-8 _*_from scapy.all import *import sys,getoptdef usage():        print "Usage: sudo ./ArpScanner.py "def main(argv):        try:                opts, args = getopt.getopt(argv, "")        except getopt.GetoptError:                usage()                sys.exit(2)        for ipFix in range(1,254):                ip = "192.168.1."+str(ipFix)                arpPkt = Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst=ip, hwdst="ff:ff:ff:ff:ff:ff")                res = srp1(arpPkt, timeout=1, verbose=0)                if res:                        print "IP: " + res.psrc + "     MAC: " + res.hwsrcif __name__ == "__main__":        main(sys.argv[1:])

三. 运行结果

re

0 0
原创粉丝点击