repetidor netgear n300 español contraseña configurar como cg3000d cambiar wireless router

wireless - n300 - Cambiando programáticamente la configuración del enrutador inalámbrico: lo ideal es Netgear



router netgear cg3000d (6)

¿Es posible cambiar la configuración mediante programación en un enrutador inalámbrico Netgear usando C #? Tengo configuraciones que cambio a menudo y me gustaría crear mi propia interfaz para realizar esos cambios. Actualmente navego a la página web de administración (10.0.0.1) y me solicita un nombre de usuario y una contraseña. Una vez que me haya autenticado, puedo usar la interfaz web para cambiar la configuración del enrutador.

Si esto no es posible con Netgear, ¿algún enrutador inalámbrico externo tiene una API para desarrolladores?


No conozco ningún enrutador de nivel de consumidor que tenga una API como esa, pero siempre puede crear algo que (ab) use la interfaz web para hacer lo que quiera, usando algo como selenium-rc o watir



No hay API por ahí para hacer esto, pero puede escribir algo para hacer solicitudes HTTP al enrutador para simular la webUI que se está utilizando.

Supongo que la mayoría de los enrutadores de consumo son probablemente bastante simples para hablar. La autenticación es probablemente nada más que el reino básico.


Selenium ofrece un complemento de Firefox que te permite grabar interacciones manuales con tu navegador. Y luego puede exportar los pasos a python, ruby, java o c #. Me funcionó ajustar la configuración de mi enrutador mediante programación para apagar el wifi. Al hacer clic en los elementos durante la grabación se identifica todo lo que necesita.

Este código funciona en un Actiontec MI424WR (FIOS)
Edite el código para agregar su nombre de usuario, contraseña y dirección del enrutador.

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.common.exceptions import NoSuchElementException from selenium.common.exceptions import NoAlertPresentException import unittest, time, re class Routr(unittest.TestCase): def setUp(self): self.driver = webdriver.Firefox() self.driver.implicitly_wait(30) self.base_url = "http://routerip_or_address" self.verificationErrors = [] self.accept_next_alert = True def test_routr(self): driver = self.driver driver.get(self.base_url + "/") driver.find_element_by_name("user_name").clear() driver.find_element_by_name("user_name").send_keys("your_username") driver.find_element_by_id("pass2").clear() driver.find_element_by_id("pass2").send_keys("enter_your_password_here") driver.find_element_by_link_text("OK").click() driver.find_element_by_link_text("Change Wireless Settings").click() driver.find_element_by_id("ws_off").click() driver.find_element_by_link_text("Apply").click() def is_element_present(self, how, what): try: self.driver.find_element(by=how, value=what) except NoSuchElementException, e: return False return True def is_alert_present(self): try: self.driver.switch_to_alert() except NoAlertPresentException, e: return False return True def close_alert_and_get_its_text(self): try: alert = self.driver.switch_to_alert() alert_text = alert.text if self.accept_next_alert: alert.accept() else: alert.dismiss() return alert_text finally: self.accept_next_alert = True def tearDown(self): self.driver.quit() self.assertEqual([], self.verificationErrors) if __name__ == "__main__": unittest.main()


Si esto es solo algunas cosas que desea cambiar mediante programación, simular las solicitudes HTTP debería ser lo suficientemente simple. Otra opción sería instalar DD-WRT en su enrutador, básicamente transformándolo en una pequeña instalación de Linux que permita la configuración programática completa a través de SSH utilizando los comandos estándar de Linux.


MiktoTik vende enrutadores de grado de cliente que permiten la configuración de ssh ( MiktoTik cuenta que usan ssh, pero no golpean dentro de ssh). Incluso puede rodar su propia API REST de PHP para el enrutador (no es que me guste PHP, pero la gente lo está haciendo).