Python 局域网主机存活扫描
#! 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 局域网主机存活扫描的更多相关文章
- 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 ...
- python多线程与多进程--存活主机ping扫描以及爬取股票价格
python多线程与多进程 多线程: 案例:扫描给定网络中存活的主机(通过ping来测试,有响应则说明主机存活) 普通版本: #扫描给定网络中存活的主机(通过ping来测试,有响应则说明主机存活)im ...
- 【网络编程3】网络编程基础-arp请求(局域网主机扫描)
ARP协议 ARP(Add ress Resolution Protocol)地址解析协议位于数据链路层,是根据IP地址获取MAC地址的一个协议. ARP 查看指令 arp -a 显示所有接口的当前A ...
- python局域网alive ip侦听
python局域网alive ip侦听 作者:vpoet mails:vpoet_sir@163.com 注:写着玩,欢迎copy # -*- coding: cp936 -*- # coding = ...
- Linux常用网络工具:批量主机服务扫描之nmap
Linux下有很多强大网络扫描工具,网络扫描工具可以分为:主机扫描.主机服务扫描.路由扫描等. 之前已经写过常用的主机扫描和路由扫描工具,nmap支持批量主机扫描和主机服务扫描. nmap的安装直接使 ...
- 7.python实现高效端口扫描器之nmap模块
对于端口扫描,使用的最多的就是nmap这个工具,不想python已经强大到,提供了nmap这个扫描端口的模块. 本片文章主要介绍nmap模块的两个常用类: PortScanner()类,实现一个nma ...
- Python中的网络扫描大杀器Scapy初探
Python中的网络扫描大杀器Scapy初探 最近经历了Twisted的打击,这个网络编程实在看不懂,都摸不透它的内在逻辑,看来网络编程不是那么好弄的.还好,看到了scapy,这种网络的大杀器 ...
- 利用Ossim系统进行主机漏洞扫描
利用Ossim系统进行主机漏洞扫描 企业中查找漏洞要付出很大的努力,不能简单的在服务器上安装一个漏洞扫描软件那么简单,那样起不了多大作用.这并不是因为企业中拥有大量服务器和主机设备,这些服务器和设备又 ...
- Linux常用网络工具:批量主机服务扫描之netcat
netcat又叫做瑞士军刀,是黑客和系统管理员常用的网络工具,最初开发的目的是文件传输,后来发展出很多强大的功能,比如也可以完成批量主机服务扫描. 之前介绍了另一个更常用的批量主机服务扫描工具:nma ...
随机推荐
- x86架构中的外部中断结构-Part 1:中断控制器的演化
本文主要讲解了x86体系架构从外部设备接受中断的过程,本文是系列文章的第一部分,试图回答以下问题: 什么是PIC以及它的用途是什么? 什么是APIC以及它的用途是什么?LAPIC和I/O APIC的目 ...
- Solution -「NOI 2021」「洛谷 P7740」机器人游戏
\(\mathcal{Description}\) Link. 自己去读题面叭~ \(\mathcal{Solution}\) 首先,参悟[样例解释 #2].一种暴力的思路即为钦定集合 \ ...
- PyTorch图文安装教程(Win10),含遇到的问题及解决办法
PyTorch安装教程(Win10),含遇到的问题及解决办法 1. 环境准备 首先,打开PyTorch官网:https://pytorch.org/get-started/locally/ 向下可以看 ...
- suse 12安装 python-pip
文章目录 方法一 安装setup-tools 安装pip 方法二 配置阿里云pip源 pip安装pyotp 方法一 安装setup-tools linux-oz6w:~ # wget https:// ...
- 『无为则无心』Python面向对象 — 47、Python中的self详解
目录 1.self的作用 2.self的使用注意事项 (1)self代表类的实例,而非类 (2)self不必非写成self,只是一种规范. (3)类中方法的形参中一定要写self,包括内置函数 (4) ...
- java培训班出来的都怎么样了
通过java培训班培训这种方式来提升自身技能,然后找到工作,是现在许多刚毕业或是想转行的从业者选择的途径之一,在这种趋势之下,许多相关人士都非常关注从java培训班出来的人们结果是否令人满意. 不可否 ...
- 用图帮你了解https的原理
Http存在的问题 上过网的朋友都知道,网络是非常不安全的.尤其是公共场所很多免费的wifi,或许只是攻击者的一个诱饵.还有大家平时喜欢用的万能钥匙,等等.那我们平时上网可能会存在哪些风险呢? 泄密, ...
- Visual Studio 文字样式背景设置
菜单栏 "工具"->选项->环境->常规
- c语言刷 设计题合计
355. 设计推特 #define MAX_LEN 512 struct User { int userId; int followee[MAX_LEN]; // 散列表,0/1,1表示这个user被 ...
- URI/URL/URN都是什么
URI : Uniform Resource Identifier,统一资源标志符 URL : Universal Resource Locator,统一资源定位符 URN : Universal R ...