找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 307|回复: 0

解决HS8145X6内存溢出问题

[复制链接]
发表于 2024-4-12 12:29 | 显示全部楼层 |阅读模式
前置条件:

1.光猫开了telnet
2.可以通过telnet进入shell,并且能执行
  1. killall -9 ctrg_m
复制代码
3.一台可以执行定时任务的设备,并且可以telnet连接光猫

原理:
用脚本模拟登入光猫的shell,kill内存泄漏的进程(在我的光猫上是ctrg_m)

步骤:
在我的网络环境里,是在光猫下挂了一台跑Ubuntu系统的小主机,我在这台小主机上部署了青龙面板,通过青龙面板定时执行以下脚本(论坛的代码编辑器不好用,请自行格式化)
  1. const net = require('net');

  2. // 定义主机和端口
  3. const HOST = '192.168.100.1'; // 光猫telnet ip
  4. const PORT = 23; // 光猫telnet 端口号,默认是23

  5. // 定义 wait 函数
  6. function wait(ms) {
  7. return new Promise(resolve => setTimeout(() => resolve(), ms));
  8. }

  9. // 定义 Telnet 连接函数
  10. async function telnetCommands() {
  11.     try {
  12.         // 创建一个 TCP socket 连接到 Telnet 服务器
  13.         const socket = net.createConnection({ host: HOST, port: PORT });

  14.         // 监听来自 Telnet 服务器的数据
  15.         socket.on('data', (data) => {
  16.             console.log(data.toString());
  17.         });

  18.         // 发送命令序列到 Telnet 服务器
  19.         await wait(1000);
  20.         // telnet用户名
  21.         socket.write('root');
  22.         socket.write('\n');
  23.         await wait(1000);
  24.         // telnet密码
  25.         socket.write('adminHW');
  26.         socket.write('\n');
  27.         await wait(1000);

  28.         // 打开shell
  29.         socket.write('su\n');
  30.         await wait(1000);
  31.         socket.write('shell\n');
  32.         await wait(2000);

  33.         // 查看ctrg_m进程信息
  34.         socket.write('echo $(ps | grep [c]trg)\n');
  35.         await wait(2000);
  36.         // 杀掉内存泄漏的进程
  37.         socket.write('killall -9 ctrg_m\n');
  38.         await wait(3000);
  39.         // 查看ctrg_m进程信息
  40.         socket.write('echo $(ps | grep [c]trg)\n');
  41.         await wait(2000);

  42.         // 退出
  43.         socket.write('exit\n');
  44.         await wait(1000);
  45.         socket.write('quit\n');
  46.         await wait(1000);
  47.         socket.write('quit\n');

  48.         // 处理 Telnet 连接的关闭
  49.         socket.on('close', () => {
  50.             console.log('Disconnected from Telnet server');
  51.         });
  52.     } catch (error) {
  53.         console.error('Telnet connection error:', error);
  54.     }
  55. }

  56. // 执行 Telnet 连接函数
  57. telnetCommands();
复制代码


只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-9-28 19:23

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表