linux重启路由命令

linux重启路由命令,第1张

重启命令有好几个

init 6

systemctl reboot

reboot/restart

重启网络

systemctl restart network

if down 网卡名 关闭网卡

if up 网卡名打开网卡

ip a 查看网卡名字

ifconfig 也能看到网卡名

你说的总体是可行的,路由器都会提供一个web 的访问控制界面,python urllib2 可以利用POST 的方式登录,加一个header 就可以了,下面是登录一个BBS 的代码的header:

req=urllib.request.Request(url)

req.add_header('User-agent','Mozilla/5.0')

req.add_header('Content-Type','application/x-www-form-urlencoded')

params=urllib.parse.urlencode({'id':username,

'login.x':24,

'login.y':8,

'login':'登陆',

'pw':password,

'titletype':'forum'

})

params=params.encode('gb2312')

print('Send request!   waiting respose.....')

res=urllib2.urlopen(req,params)

下面是我ppp登录路由器的方式:

#!/usr/bin/python

#

# License: GNU GPL v2

# Script for comtrend hg536+ ( firmware A101-302JAZ-C03_R21.A2pB021g.d15h )

# This scripts connect to router and reset ip in 45s. In this example use default values for jazztel .

import getpass

import sys

import telnetlib

import time

HOST = "192.168.1.1"

LOGIN = "admin"

PASS = "admin"

PROMPT = " -> "

WAITTIME = 40 # Number of second

CONNECTIONNAME = "0.8.35 2" # to see your connections, manually connect to router (telnet 192.168.1.1) and use "wan show" .You should choose you PPPoE connection Use a combination of VCC + Con Id. For example ""0.8.35 2""

tnt = telnetlib.Telnet(HOST)

tnt.read_until("Login: ")

tnt.write(LOGIN + "\n")

tnt.read_until("Password: ")

tnt.write(PASS + "\n")

tnt.read_until(PROMPT)

tnt.write("ppp config " + CONNECTIONNAME + " down\n")

time.sleep(3)

tnt.write("\n")

tnt.write("ppp config " + CONNECTIONNAME + " up\n")

time.sleep(WAITTIME)

tnt.read_until(PROMPT)

tnt.write("ppp config " + CONNECTIONNAME + " up\n")

tnt.write("\n")

tnt.read_until(PROMPT)

tnt.write("13\n") # press option to exit

tnt.close()

下面重启路由器:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import sys

import telnetlib

import re

import time

import sys

import os

HOST = "192.168.2.1"

password = "password"

class bcolors:

HEADER = '\033[95m'

OKBLUE = '\033[94m'

OKGREEN = '\033[92m'

WARNING = '\033[93m'

FAIL = '\033[91m'

ENDC = '\033[0m'

def disable(self):

self.HEADER = ''

self.OKBLUE = ''

self.OKGREEN = ''

self.WARNING = ''

self.FAIL = ''

self.ENDC = ''

def drukuj(wiadomosc):

sys.stdout.write("\r")

sys.stdout.write("                                                    ")

sys.stdout.flush()

sys.stdout.write("\r")

sys.stdout.write(wiadomosc)

sys.stdout.flush()

#sys.stdout.write("\r")

def status(komenda):

odb = ""

try:

tn = telnetlib.Telnet(host=HOST,timeout=23)

except IOError:

print "Nie nawiązano połączenia :(\n"

else:

tn.read_until("Password: ")

tn.write(password + "\n")

if komenda=="wan adsl reset\n":

tn.write(komenda)

tn.write("exit\n")

#print "Połączenie zostało z resetowane"

drukuj(bcolors.FAIL + "Połączenie zostało z resetowane" + bcolors.ENDC)

if komenda=="ip route status\n":

tn.write(komenda)

tn.write("exit\n")

odb = tn.read_all()

if komenda=="wan adsl status\n":

tn.write("wan adsl status\n")

tn.write("exit\n")

odb = tn.read_all()

if re.search('current modem status: down', odb):

#print "Status: down"

drukuj(bcolors.HEADER + "Status: down" + bcolors.ENDC)

if re.search('current modem status: wait for initialization', odb):

#print "Status: wait for initialization"

drukuj(bcolors.WARNING + "Status: wait for initialization" + bcolors.ENDC)

if re.search('current modem status: initializing', odb):

#print "Status: initializing"

drukuj(bcolors.WARNING + "Status: initializing" + bcolors.ENDC)

if re.search('current modem status: up', odb):

#print "Status: up"

drukuj(bcolors.OKBLUE + "Status: up" + bcolors.ENDC)

return odb

def clear():

if os.name == "posix":

# Unix/Linux/MacOS/BSD/etc

os.system('clear')

elif os.name in ("nt", "dos", "ce"):

# DOS/Windows

os.system('CLS')

if __name__=="__main__":

clear()

status("wan adsl reset\n")

time.sleep(5)

a = True

while a:

odb = status("ip route status\n")

if re.search('\d *poe0 *\d', odb):

#print "Modem działa"

drukuj(bcolors.OKGREEN + "-={{Modem działa}}=-\n" + bcolors.ENDC)

time.sleep(2)

#clear()

a = False

else:

time.sleep(3)

status("wan adsl status\n")

time.sleep(3)

下面通过telnet 来重启路由器

    #!/usr/bin/env python

    # -*- coding: utf-8 -*-

    import telnetlib

    HOST = "192.168.1.1"

    USER = "root"

    PASS = "admin"

    router = telnetlib.Telnet(HOST)

    router.read_until(": ", 2)  # wait for timeout or "BusyBox on localhost login: "

    router.write(USER + "\n")

    router.read_until(": ", 2)  # wait for timeout or "Password: "

    router.write(PASS + "\n")

    router.read_until("# ", 2)  # wait for timeout or "# "

    router.write("reboot\n")

    router.close()

    print "Done!"

这是四段独立的代码!

DD-WRT(简称DD)是一个Linux开源 *** 作系统,实质它是第三方的路由器固件。路由和网管功能非常强大,通常我们使用的路由器设备,都具有一个独立的 *** 作系统(英文简称OS),用于对路由器设备进行各种功能设置和管理。其实我们通常所说的升级路由器固件,也就是指升级刷新路由设备里面的 *** 作系统,以使得路由器设备的功能更加强大。常见的第三方路由器固件还有番茄(Tomato)等。

方法:

采用Web方法刷

确认自己的路由器可否使用Web方式刷新,当然大部分路由器都可以这样做。Web方式刷新其实就是路由器设置菜单里面的“更新路由器固件”功能。虽然不是更新同厂的固件,但是也是可以用的,这种升级方式最为方便。

1、确认路由器支持DD、没有特别刷新方法的说明。本教程是以Linksys WRT150N V1 无线路由器为例。

2、下载适合路由器的固件版本。通常都会支持中文或其他网友发布的汉化。最好准备一份路由器的原厂固件,以备恢复时使用。

注意:如果想要下载最新版本,可以进入Feko目录下载,不过这个目录里的固件不是最终版,属于SVN(Subversion)。如果不是为了尝新或者路由器有兼容问题,建议还是不要这么做了。4、后者将进入Boot模式将新的固件加载到路由器上,优点是可以避免内存不足而造成的失败。

5、如果提示刷新失败,建议重启路由器再进行刷新。如果重启后还是失败,那么就得分析具体原因了,看看是不是版本不合适引起的。例如是不是固件太大了,超过路由器的容量等。

注意:下载的DD固件通常是bin为扩展名,如果路由器不支持这种格式升级,可以尝试修改扩展名为支持的类型;强烈建议大家使用有线连接路由器的方式刷新;刷新期间不要关闭路由器电源,一直要等刷新结束再进行 *** 作。

3、登录Linksys的管理界面→固件升级,点击“浏览”找到下载的DD-WRT固件。这款路由器提供两种升级方式,一种是常规的“升级”,一种是“安全升级”

采用Web方法刷

确认自己的路由器可否使用Web方式刷新,当然大部分路由器都可以这样做。Web方式刷新其实就是路由器设置菜单里面的“更新路由器固件”功能。虽然不是更新同厂的固件,但是也是可以用的,这种升级方式最为方便。

采用TFTP方法刷

TFTP是Windows内置的一个命令。在命令提示符下进行 *** 作。使用TFTP刷新请用网线把电脑和路由器的LAN口相连接。

1、确认路由器支持DD,且只能用TFTP的刷新方法。然后根据路由器型号、下载对应的DD固件版本。某些路由器刷DD使用TFTP有特别说明,一定要看仔细。

2、在开始菜单中选运行然后输入CMD并回车进入命令提示符。输入ipconfig /all了解当前的路由器的IP地址,一般默认都是192.168.1.1。建议手动分配一个地址。防止重启后IP发生变化。请设置电脑和路由器在同一个网段,例如192.168.1.2。然来将dd-wrt.bin固件文件放到C盘的根目录。3、假设路由器IP是192.168.1.1,输入命令ping 192.168.1.1 -t并回车看通不通得了,通了就OK。然后重启路由器(通过Web界面)。

4、因为需要在启动的时候刷新,所以先输入tftp -i 192.168.1.1 put dd-wrt.bin,但是先不要敲下回车键。

5、重启路由器(有的路由器非要使用Reset按钮才能进入TFTP模式),按下回车。也有一种说法是看路由器指示灯,当所有指示灯一闪而灭的瞬间,按下回车输入命令。成功之后会出现successful的提示,如果失败就再来一次。出现successful之后,还需要你耐心等待几分钟,不要进行任何 *** 作。

刷新失败:

先断开电源重启、按复位(Reset)键等 *** 作看有没有变化。如果没有变化,试试看用TFTP法刷新。如果还不行,可以去买一条路由器相配套的JTAG线,通过它可以把路由器救活。淘宝有些卖家在质保期内也会提供免费救活服务。

PS: DD-WRT里不要盲目加大功率,毕竟信号太强会对身体有伤害。如果信号够用还可以适当降低标准信号功率,从而减少无线信号对人体的辐射。对有些路由器作用并不大,反而是增加无线干扰或导致无线网卡损坏导致经常断线和无信号,而且这种损害是不可逆的和不能修复的,坏了就成砖头,有可能导致路由报废。请大家切记!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7611049.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-07
下一篇 2023-04-07

发表评论

登录后才能评论

评论列表(0条)

保存