итак, кратко обрисую мой метод.
Посмотрел я свой раутер, на нем крутицо линукс с интерфейсом cgi, почему я и подумал что все необходимое можно передать в адресной строке методом GET
В принципе, можно посмотреть исходники веб-страничек роутера и написать свою форму, используя эти данные, но такой способ требует хорошего знания html и веб-программинга, чего про меня не скажешь. Поэтому я тупо скачал первый попавшийся сниффер и грубо и неделикатно посмотрел, что отправляется на сервер при нажатии кнопок DISCONNECT и CONNECT. Попутно я отредактировал запрос, добавив в него и данные авторизации.
Сниффер показал такой запрос:
http://192.168.1.1/apply.cgi?current_page=Main_GStatus_Content.asp&next_page=default+value&next_host=192.168.1.1&sid_list=default+value&group_id=&modified=0&action_mode=Update&first_time=&action_script=dhcpc_release&load_script=&wan_proto_t=L2TP&wan_ipaddr_t=195.24.122.179&wan_netmask_t=255.255.255.0&wan_gateway_t=185.21.0.254&wan_dns_t=185.21.192.5+213.34.192.7&wan_status_t=Connected&PPPConnection_x_WANAction_button=Disconnect&lan_ipaddr_t=192.168.1.1&lan_netmask_t=255.255.0.0&lan_gateway_t=192.168.1.1
http://192.168.1.1/apply.cgi?current_page=Main_GStatus_Content.asp&next_page=default+value&next_host=192.168.1.1&sid_list=default+value&group_id=&modified=0&action_mode=Update&first_time=&action_script=dhcpc_renew&load_script=&wan_proto_t=L2TP&wan_ipaddr_t=&wan_netmask_t=&wan_gateway_t=&wan_dns_t=&wan_status_t=Disconnected&PPPConnection_x_WANAction_button1=Connect&lan_ipaddr_t=192.168.1.1&lan_netmask_t=255.255.0.0&lan_gateway_t=192.168.1.1
Все, что оставалось мне сделать, это добавить параметр
name=admin&password=admin&
в начало запроса (т.е. первым параметром, между
cgi? и
current_page)
Вот и все.