Автоматизировать вход через Sonicwall

2712
nikhil

Наш университет использует Sonicwall для блокировки определенных сайтов, и каждый студент может войти в интернет через него.

Трудно загружать большие файлы, такие как дистрибутив Linux, за один раз, и я не хочу спать всю ночь, загружая файл. Это какой-то способ, которым я мог бы автоматизировать этот процесс входа в систему. Кроме того, мы отключаемся через каждые три часа и должны войти снова.

В более общем плане, какой язык сценариев или технику я должен изучить, чтобы достичь этого. Я предпочитаю рубин другим, поэтому, если это возможно в рубине, то это дополнительный бонус.

1
Вы можете, по крайней мере, попытаться спросить Uni SysAdmins, могут ли они загрузить его для вас, а не пытаться найти обходной путь. tombull89 13 лет назад 0
Является ли Sonicwall настоящей программой или вам предлагается войти в систему через веб-браузер? Breakthrough 13 лет назад 0
** Добро пожаловать в Super User! ** Извините, но мы не хотим обсуждать здесь политику обхода образовательных организаций. Если вам нужно входить в систему каждые три часа, возможно, есть причина. Подумайте о том, чтобы связаться с вашим сетевым администратором или найти альтернативный способ, если только вы не хотите, чтобы они рассердились, если они заметят ваше использование высокой пропускной способности в тот или иной момент. Tom Wijsman 13 лет назад 0
@Breakthrough: это аппаратный брандмауэр, с которым люди не хотят возиться ... :) Tom Wijsman 13 лет назад 0
@ Tom Wijsman это нормально, но требует ли на компьютере сторонней утилиты для входа в брандмауэр или просто запрашивает у вас имя пользователя и пароль при запуске веб-браузера? Breakthrough 13 лет назад 0
@Breakthrough: при подключении к сети должен отображаться запрос, скорее всего, они используют [RADIUS] (http://en.wikipedia.org/wiki/RADIUS). Это не программа или браузер. Что касается администрирования брандмауэра, то это, скорее всего, через HTTPS (но я думаю, что он также поддерживает Telnet или SSH, который не часто используется, учитывая, что пользовательский интерфейс работает достаточно хорошо). Автозаполнение подсказки легко, но это скорее вызовет у него проблемы ... Tom Wijsman 13 лет назад 0
@ Tom Wijsman: Я не обхожу никакие политики, все, что я стремлюсь сделать, это автоматизировать задачу, которую я могу выполнять физически. Я бы использовал торренты, но, к сожалению, они запрещены. Если бы я мог подорвать это, то был бы по-настоящему счастлив и, возможно, тоже маленьким героем, но, к сожалению, я не вижу, чтобы это произошло. nikhil 13 лет назад 0
@Breakthrough: я должен предоставить учетные данные в окне браузера. nikhil 13 лет назад 0

2 ответа на вопрос

1
Aditya

I have used python to write a code which logs in, this code does the job at my university,

# The selenium.webdriver module provides all the WebDriver implementations. get it online, [I got the module from here][1] from selenium import webdriver # The Keys class provide keys in the keyboard like RETURN, F1, ALT etc. from selenium.webdriver.common.keys import Keys # here, a instance of Firefox WebDriver is created. You can do it for various browsers driver = webdriver.Firefox() # The driver.get method will navigate to a page given by the URL. #WebDriver will wait until the page has fully loaded (that is, the “onload” event has fired) # before returning control to your test or script. # It’s worth noting that if your page uses a lot of AJAX on load then WebDriver may not know when it has completely loaded. so please be patient driver.get("https://192.168.20.1/auth1.html") # The next line is an assertion to confirm that title has “Sonic” word in it: (not really neccesary :p) # This is used to confirm that the webpage is the right one assert "Sonic" in driver.title # we use the 'name' tag to get a handle to the username and password this finds the appropriate box. user = driver.find_element_by_name("userName") passwd = driver.find_element_by_name("pwd") # use the 'send_keys' function to set the "box's" values to your password and username user.send_keys("<your username>") passwd.send_keys("<your password>") # we sumbit the form passwd.send_keys(Keys.RETURN) # we close the window after logging in, the popup which takes care of the 3 hour windows remains open. driver.close() 

Now, there are a lot of points to address,

  1. as you might see i have used the url to which i navigate in order to log in as "https://192.168.20.1/auth1.html" not "https://192.168.20.1/auth.html" this is as in my college they have set up a frame, basically i couldnt use the 'find_element_by_name' or any such functions in that site. This might vary from institute to institute, check it out by reading your institute's source code thoroughly

  2. also i have used 'userName' and 'pwd' as the name's of the form box's. This doesnt have to be true for you, check that out too.

Now this code will only log you in if you execute it. You can put it in a loop and put a time delay of 2.5 hours. I am planning to keep it running in the background and if the computer connects to a wifi, the script will be notified, (i could use some help here ) and the code could start with a request to the "authentication page" if there is a 404 error then break other wise run the code. (requests library can help with these things)

 #checks for 404 error check=requests.head(url) if check.status_code==404: break 

Python is an awesome language, you can work on it further, but i don't think it will be tough to port it to ruby, as selenium is available in ruby too.

please dont hesitate to contact me, as i am working on porting this code and implementing more features to android etc.

Ницца +1. Я приму этот ответ, не могу проверить, как я закончил с колледжем. nikhil 10 лет назад 1
0
Giacomo Tecya Pigani

I know I'm a bit late, but I made a chrome extension for this. If anybody needs it ...

https://chrome.google.com/webstore/detail/sonicwall-auto-logon/bgcnljfljjkbbaijbanajmpbkhjcmkkh

Можете ли вы дать более подробное описание связанного контента и объяснить, как он связан с вопросом? Это поможет гарантировать, что этот ответ останется полезным в случае, если ссылка станет недействительной. Кроме того, будьте осторожны, публикуя ссылки в ответах такого рода - они могут рассматриваться сообществом как спам, правильно или нет. Смотрите [помощь / поведение] для получения дополнительной информации. bwDraco 9 лет назад 0
Ну, ОП спросил об «Автоматическом входе через Sonicwall», и я сделал расширение, чтобы сделать это, так как мой университет использует ту же систему Giacomo Tecya Pigani 9 лет назад 0
Вы слишком поздно для меня, у меня нет возможности проверить это. Я +1 это, может быть, это поможет кому-то еще. Спасибо, что поделились этим здесь. nikhil 9 лет назад 0