物联网设备Telnet口令快速扫描工具

简介:

随着物联网设备越来越普及,大部分物联网设备接入公网但却缺乏有效管理,因此希望能够快速获取物公网上联网设备的相关信息,但是在实验环境下,几台计算机使用传统的链接方式去扫描设备效率太低,为了能够达到这个目的,本文介绍了一个多线程telnet快速扫描器,可以快速地实现telnet物联网设备的密码扫描,并将扫描结果存入库中。

总体架构

1.数据输出/syn泛洪发包,可配置扫描信息

2.信息收集及处理/数据嗅探及过滤

3.多线程scanner/多线程通信

4.命令交互状态机/状态机实现,交互过程

5.数据输出/数据入库

数据探测

Xml文件配置

程序使用xml格式配置读取待扫描的ip地址段信息

写成xml的主要一开始是因为要扫描一个固定地域的ip地址段,正好使用python可以很方便的解析网页上的内容,所以就将网络上的ip段信息处理成xml格式,方便以后读取。

过程中使用的是xrange生成器,主要是怕生成的ip地址过大,占用过多内存。

syn泛洪

为了加快扫描速度,避免等待无用链接,使用scapy从第三层开始构造syn端口探测包并从特定的端口(例如:2222)大量发送出去,采用先回应先处理的原则,极大的缩短了扫描时间。

使用scapy可以很方便的构造数据包,如上图,大量的构造syn数据包。使用scapy的时候注意需要root权限,同时需要注意当前工作目录下的文件名,有可能因为文件名的原因导致scapy无法正常工作。

信息收集

Sniffer

调用scapy中的sniff函数监听数据包,使用bpf过滤规则,过滤特定端口(port:2222),ack响应的数据包,并将数据包的来源ip存入一个FIFO队列(队列默认大小为:100),这是为了避免当收到服务器端的重传ack包,导致处理该ip多次造成效率上的浪费

Queue才是真正的产出队列,而ip_prompt_queue只是为了避免重复探测同一个的一个先进先出队列,如果ip在FIFO队列当中,则代表该ip已经被探测过了直接略过。

由于sniffer线程是阻塞监听不会退出的所以在一开始将这个线程设置为daemon线程,当没有其他线程时,程序退出,而不会阻塞在sniffer。

  多线程

采用消费-生产的多线程工作模式,使用spewr线程向外泛洪syn数据包,使用sniffer线程监听并分析数据包,使用多个scanner<线程来并行处理扫描到的ip地址。

使用一个线程标志位exitFlag来通知线程退出,spewer线程结束发包之后会将exitFlag置1,这时主线程将会循环检测接收数据包的最后时间,如果在30秒内没有监听到数据包,则判断探测过程已经完成没有后续的产出了同时将exitFlag置2,scanner线程将会检查queue当中是否有数据,如果没有数据且exitFlag等于2或3,则表示没有破解目标线程开始退出,同时将exitFlag置3,通知主线程开始退出。

命令交互状态机

为了避免逻辑的单一造成的漏扫之类的实例发生,放弃了使用单一的if-else 或者while-which的逻辑结构,进而采用有限状态机的编程方法,实现对telnet协议更好的交互,交互过程中scanner将会从一个优先级队列当中取出硬编码的用户名-密码对,来对设备进行暴力破解

  持有状态机的父类

  使用pexpect开始数据交互

数据输出

使用MySQL数据库,将成功探测得到的结果存入数据库,存入数据库之前还将添加ip归属地等信息

使用mysql.sql脚本,创建数据库及数据表,注意由于使用了归属地等中文信息,因此建库和建表的时候要设置好响应的字符集才不会导致乱码。设置ip的UNIQUE键,避免重复表项。

使用方法

1.操作环境linux

2.使用apt-get或者yum安装mysql数据库

3.下载pip安装程序(https://pypi.python.org/pypi/pip),按照说明安装

4.使用pip命令安装pexpect,MySQL-python,17monip,scapy等(如:pip install pexpect)

5.进入mysql数据库,source */mysql.sql 执行脚本创建数据库和数据表

6.使用 python scanner.py 10 运行程序

项目代码:https://github.com/scu-igroup/telnet-scanner

 


  

本文转自d1net(转载)


相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
目录
相关文章
|
2月前
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
53 1
|
2月前
|
Web App开发 网络协议 安全
基于Web攻击的方式发现并攻击物联网设备介绍
基于Web攻击的方式发现并攻击物联网设备介绍
46 4
|
2月前
|
安全 物联网 物联网安全
智能物联网安全:物联网设备的防护策略与最佳实践
【10月更文挑战第26天】随着物联网(IoT)技术的快速发展,智能设备已广泛应用于智能家居、工业控制和智慧城市等领域。然而,设备数量的激增也带来了严重的安全问题,如黑客攻击、数据泄露和恶意控制,对个人隐私、企业运营和国家安全构成威胁。因此,加强物联网设备的安全防护至关重要。
118 7
|
3月前
|
物联网 5G 智能硬件
物联网卡:物联网卡不支持语音通话,是如何实现设备间的数据传输和通信的?
物联网卡(IoT SIM卡)通常被设计用于支持物联网(IoT)设备之间的数据传输,而不直接支持语音通话功能。这是因为物联网设备主要关注的是数据的收集、传输和处理,而不是语音通信。为了实现设备间的数据传输和通信,物联网卡及其背后的技术采用了多种方法,主要包括但不限于以下几种方式:
物联网卡:物联网卡不支持语音通话,是如何实现设备间的数据传输和通信的?
|
3月前
|
传感器 机器学习/深度学习 存储
物联网设备精细化管理系统解决方案
随着科技的进步,物联网技术作为新一代信息技术的核心部分,正在深刻改变各行业的生产和管理方式。其在资产管理、智慧城市、能源管理和智慧医疗等多个领域的广泛应用,不仅提高了运营效率,还促进了资源优化配置和精细化管理。本文详细介绍了物联网的基础概念及其在设备精细化管理系统中的具体应用方案,展示了如何通过智能感知层建设、数据处理分析平台以及精细化管理应用,实现设备的实时监控、预测性维护和能耗管理等功能,从而帮助企业提升竞争力,降低成本,并推动社会向更智能化、绿色化的方向发展。
112 2
物联网设备精细化管理系统解决方案
|
3月前
|
物联网
物联网卡不能使用在什么设备上
“物联网卡不能使用在什么设备上”这一操作或规定,通常基于物联网卡的特性、使用条款以及设备兼容性等因素。以下是对这一问题的详细分析和操作建议:
|
3月前
|
存储 监控 物联网
医疗物联网设备精细化管理系统解决方案
华汇数据智慧医院物联网管理系统解决方案是一种集物联网、云计算、大数据和人工智能等先进技术于一体的综合性解决方案,旨在提升医院的运营效率、医疗质量和患者满意度。
94 3
|
3月前
|
安全 物联网
物联网卡不能更换设备使用吗
物联网卡(IoT SIM卡)是否允许更换设备使用,这主要取决于物联网服务提供商的具体政策和服务条款。通常,物联网卡是为特定设备或应用场景设计的,因此一些服务提供商会限制卡的更换使用,主要是出于安全、管理、网络优化和避免滥用等考虑
|
4月前
|
安全 物联网 定位技术
2G网络和基站的撤销对物联网设备的影响
2G网络和基站的撤销对物联网设备的影响是多方面的,以下是对这一影响的详细分析:
2G网络和基站的撤销对物联网设备的影响
|
2月前
|
安全 物联网 物联网安全
智能物联网安全:物联网设备的防护策略与最佳实践
【10月更文挑战第27天】随着物联网技术的快速发展,智能设备已广泛应用于生活和工业领域。然而,物联网设备的安全问题日益凸显,主要威胁包括中间人攻击、DDoS攻击和恶意软件植入。本文探讨了物联网设备的安全防护策略和最佳实践,包括设备认证和加密、定期更新、网络隔离以及安全标准的制定与实施,旨在确保设备安全和数据保护。
94 0

热门文章

最新文章

相关产品

  • 物联网平台