#! python
# -*- coding: utf-8 -*-
__author__ = 'Deen' import os
import threading
import argparse # 从网关获取所有IP,如192.168.1.1-255,返回一个list存储
def get_all_ip(gateway):
ip = list()
# 改进,支持指定范围IP ip_prefix = gateway.split('.') # 对输入的gateway进行判断
# 第一种输入192.168.1.1-255
if '-' in gateway:
parts = ip_prefix[3].split('-')
start = int(parts[0])
end = int(parts[1])
prefix = ip_prefix[0] + '.' + ip_prefix[1] + '.' + ip_prefix[2] + '.'
for i in range(start, end):
ip.append(prefix + str(i))
# 第二种只输入一个ip
else:
ip_prefix = ip_prefix[0] + '.' + ip_prefix[1] + '.' + ip_prefix[2] + '.'
for i in range(255):
ip.append(ip_prefix + str(i)) # 返回一个包含所有IP的list
return ip def ping(ip):
# 执行系统命令以一个管道返回
output = os.popen('ping -n 2 %s' % ip)
result = output.read().encode('utf-8')
# 返回命令执行结果
# print result
# 根据返回结果当中是否包含关键词TTL 进行判断
if 'TTL' in result:
print('[-] ' + ip + '\tis up') def main(ip):
# 采用多线程,创建一个线程池
threads = []
ips = get_all_ip(ip)
for ip in ips:
# 加入线程
t = threading.Thread(target=ping, args=(ip,))
threads.append(t)
print '[+] Scaning start'
for i in threads:
i.start()
for i in threads:
t.join() if __name__ == '__main__':
parser = argparse.ArgumentParser(description='This a script to scan the LAN')
parser.add_argument('ip', default='192.168.1.1', help='Eg: 192.168.1.1 or 192.168.1.1-33')
args = parser.parse_args()
main(args.ip)

写得比较简单,还有还多要写

TO DO

  • 返回目标信息,像scanport一样
  • 如果是wifi,进行ddos攻击,让目标下线

Python 局域网主机存活扫描的更多相关文章

  1. Linux中使用python测试主机存活 Linux系统CentOS Linux release 7.3.1611 (Core) py版本Python 2.7.5

    下面是最初的情况 #/usr/bin/env python # -*- coding: utf-8 -*- import os import time import subprocess import ...

  2. python多线程与多进程--存活主机ping扫描以及爬取股票价格

    python多线程与多进程 多线程: 案例:扫描给定网络中存活的主机(通过ping来测试,有响应则说明主机存活) 普通版本: #扫描给定网络中存活的主机(通过ping来测试,有响应则说明主机存活)im ...

  3. 【网络编程3】网络编程基础-arp请求(局域网主机扫描)

    ARP协议 ARP(Add ress Resolution Protocol)地址解析协议位于数据链路层,是根据IP地址获取MAC地址的一个协议. ARP 查看指令 arp -a 显示所有接口的当前A ...

  4. python局域网alive ip侦听

    python局域网alive ip侦听 作者:vpoet mails:vpoet_sir@163.com 注:写着玩,欢迎copy # -*- coding: cp936 -*- # coding = ...

  5. Linux常用网络工具:批量主机服务扫描之nmap

    Linux下有很多强大网络扫描工具,网络扫描工具可以分为:主机扫描.主机服务扫描.路由扫描等. 之前已经写过常用的主机扫描和路由扫描工具,nmap支持批量主机扫描和主机服务扫描. nmap的安装直接使 ...

  6. 7.python实现高效端口扫描器之nmap模块

    对于端口扫描,使用的最多的就是nmap这个工具,不想python已经强大到,提供了nmap这个扫描端口的模块. 本片文章主要介绍nmap模块的两个常用类: PortScanner()类,实现一个nma ...

  7. Python中的网络扫描大杀器Scapy初探

    Python中的网络扫描大杀器Scapy初探     最近经历了Twisted的打击,这个网络编程实在看不懂,都摸不透它的内在逻辑,看来网络编程不是那么好弄的.还好,看到了scapy,这种网络的大杀器 ...

  8. 利用Ossim系统进行主机漏洞扫描

    利用Ossim系统进行主机漏洞扫描 企业中查找漏洞要付出很大的努力,不能简单的在服务器上安装一个漏洞扫描软件那么简单,那样起不了多大作用.这并不是因为企业中拥有大量服务器和主机设备,这些服务器和设备又 ...

  9. Linux常用网络工具:批量主机服务扫描之netcat

    netcat又叫做瑞士军刀,是黑客和系统管理员常用的网络工具,最初开发的目的是文件传输,后来发展出很多强大的功能,比如也可以完成批量主机服务扫描. 之前介绍了另一个更常用的批量主机服务扫描工具:nma ...

随机推荐

  1. 记录使用WKWebView进行OC与JS交互所踩过的坑

    目录: 1.页面cookie缓存 2.允许弹出JS的弹框 3.在webview页面加载的时候,添加加载进度条 4.禁止掉webview页面的长按复制粘贴功能 5.设置webview的userAgent ...

  2. 05.python语法入门--垃圾回收机制

    # (1)垃圾回收机制GC# 引用计数# x = 10 # 值10引用计数为1# y = x   # 值10引用计数为2## y = 1000 # 值10引用计数减少为1# del x     # 值 ...

  3. Cobbler 批量安装操作系统

    文章目录 环境准备 部署cobbler cobbler语法检查以及排错 问题1 问题2 问题3 问题4 问题5 问题6 问题7 问题8 修改dhcp模板 重启服务,再次检查 镜像配置 镜像导入 kic ...

  4. c++ StrVec等效vector(string)的类

    c++ StrVec等效vector<string>的类 知识点 静态成员变量要在类外定义和初始化 allocator类是使用和uninitialized_copy的配合使用,实现stri ...

  5. 通过Dapr实现一个简单的基于.net的微服务电商系统(十九)——分布式事务之Saga模式

    在之前的系列文章中聊过分布式事务的一种实现方案,即通过在集群中暴露actor服务来实现分布式事务的本地原子化.但是actor服务本身有其特殊性,场景上并不通用.所以今天来讲讲分布式事务实现方案之sag ...

  6. Visual Studio Code 配置C、C++ 文件debug调试环境

    目录 vscode C/C++ Extension Pack 插件安装 vscode windows 端 debug 配置 window MinGW 环境安装 windows 端 C.CPP 单文件 ...

  7. WPF 开发,优化 AvalonEdit 显示单行超长文本的性能。

    路遥工具箱内置了一个名为"JSON 格式化"的功能.通过该功能可以将 JSON 字符串进行美化和简化(设置缩进和取消缩进). 该功能上线后收到很多客户的反馈:大部分经由网络传输的J ...

  8. 【C#反射】Type的用法

    Type属性的应用 Type type = typeof(MyClass); Console.Write("$类型名:{ type.Name}"); Console.Write(& ...

  9. C#特性(属性)Attribute

    先明确一个概念: 元数据..NET中元数据是指程序集中的命名空间.类.方法.属性等信息.这些信息是可以通过Reflection读取出来的. 再来看个例子: #define BUG //#define ...

  10. docker配置tomcat

    docker pull tomcat tomcat的目录结构 /usr/local/tomcat/webapps web目录 /usr/local/tomcat/logs 日志目录 /usr/loca ...