Automatisieren Sie die Anmeldung über Sonicwall

2688
nikhil

Unsere Universität verwendet Sonicwall, um bestimmte Websites zu blockieren, und jeder Student kann sich über das Internet anmelden.

Es ist schwierig, große Dateien wie ein Linux-Distributions-ISO in einem einzigen Schritt herunterzuladen, und ich möchte nicht die ganze Nacht wach bleiben, um eine Datei herunterzuladen. In gewisser Weise könnte ich diese Protokollierung automatisieren. Außerdem werden wir alle drei Stunden getrennt und müssen uns erneut anmelden.

Allgemeiner, welche Skriptsprache oder -technik sollte ich erlernen, um dies zu erreichen. Ich bevorzuge Ruby anderen gegenüber. Wenn es in Ruby möglich ist, ist es ein zusätzlicher Bonus.

1
Sie könnten zumindest versuchen, die Uni-SysAdmins zu fragen, ob sie das Programm für Sie herunterladen könnten, anstatt eine Umgehungsmöglichkeit zu finden. tombull89 vor 12 Jahren 0
Ist Sonicwall ein aktuelles Programm oder werden Sie von Ihrem Webbrowser aufgefordert, sich anzumelden? Breakthrough vor 12 Jahren 0
** Willkommen bei Super User! ** Tut mir leid, aber das Umgehen von Richtlinien, die von Bildungseinrichtungen festgelegt wurden, möchten wir hier nicht diskutieren. Wenn Sie sich alle drei Stunden anmelden müssen, gibt es wahrscheinlich einen Grund dafür. Wenden Sie sich an Ihren Netzwerkadministrator oder suchen Sie nach einem alternativen Weg, es sei denn, Sie möchten, dass sie sich ärgern, wenn sie feststellen, dass Ihre Bandbreite zu einem oder zu einem anderen Zeitpunkt verwendet wird. Tom Wijsman vor 12 Jahren 0
@Breakthrough: Es ist eine Hardwarefirewall, mit der die Leute nicht herumspielen wollen ... :) Tom Wijsman vor 12 Jahren 0
@Tom Wijsman ist in Ordnung, aber muss auf dem Computer ein Dienstprogramm eines Drittanbieters installiert sein, um sich bei der Firewall anzumelden, oder werden Sie einfach aufgefordert, einen Benutzernamen und ein Kennwort einzugeben, wenn Sie Ihren Webbrowser starten? Breakthrough vor 12 Jahren 0
@Breakthrough: Beim Herstellen einer Verbindung zum Netzwerk sollte eine Eingabeaufforderung angezeigt werden. Sie verwenden höchstwahrscheinlich [RADIUS] (http://en.wikipedia.org/wiki/RADIUS). Das ist weder ein Programm noch ein Browser. Was die Verwaltung der Firewall betrifft, ist dies höchstwahrscheinlich über HTTPS möglich (aber ich denke, dass auch Telnet oder SSH unterstützt wird, was nicht häufig verwendet wird, da die Benutzeroberfläche gut genug ist). Das automatische Ausfüllen der Eingabeaufforderung ist einfach, verursacht aber wahrscheinlich Probleme ... Tom Wijsman vor 12 Jahren 0
@Tom Wijsman: Ich umgehe keine Richtlinien. Alles, was ich zu tun suche, ist die Automatisierung einer Aufgabe, die ich physisch erledigen kann. Ich würde Torrents verwenden, aber leider sind sie verboten. Wenn ich das unterwandern könnte, wäre ich wirklich glücklich und wahrscheinlich auch ein kleiner Held, aber leider sehe ich das nicht. nikhil vor 12 Jahren 0
@Breakthrough: Ich muss die Anmeldeinformationen in einem Browserfenster angeben. nikhil vor 12 Jahren 0

2 Antworten auf die Frage

1
Aditya

Ich habe Python verwendet, um einen Code zu schreiben, der sich anmeldet. Dieser Code erledigt die Arbeit an meiner Universität.

# 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() 

Nun gibt es viele Punkte, die angesprochen werden müssen,

  1. Wie Sie vielleicht sehen, habe ich die URL verwendet, zu der ich navigiere, um"https://192.168.20.1/auth1.html" not "https://192.168.20.1/auth.html" mich anzumelden, da dies in meinem College ein Frame ist. Grundsätzlich könnte ich nicht die 'find_element_by_name' oder irgendwelche anderen Funktionen auf dieser Site verwenden. Dies kann von Institut zu Institut variieren. Lesen Sie den Quellcode Ihres Instituts sorgfältig durch

  2. Ich habe auch 'userName' und 'pwd' als Namen der Formularbox verwendet. Dies muss nicht für Sie wahr sein, überprüfen Sie das auch.

Jetzt werden Sie mit diesem Code nur angemeldet, wenn Sie ihn ausführen. Sie können es in eine Schleife setzen und eine Zeitverzögerung von 2,5 Stunden einstellen. Ich plane, es im Hintergrund laufen zu lassen, und wenn der Computer eine Verbindung zu einem WLAN herstellt, wird das Skript benachrichtigt (ich könnte hier etwas Hilfe gebrauchen) und der Code könnte mit einer Anfrage an die "Authentifizierungsseite" beginnen, falls vorhanden Ein 404-Fehler bricht dann auf andere Weise den Code ab. (Anforderungsbibliothek kann bei diesen Dingen helfen)

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

Python ist eine großartige Sprache, man kann weiter daran arbeiten, aber ich denke nicht, dass es schwer sein wird, sie in Rubin zu portieren, da Selen auch in Rubin verfügbar ist.

Bitte zögern Sie nicht, mich zu kontaktieren, da ich daran arbeite, diesen Code zu portieren und weitere Funktionen für Android usw. zu implementieren.

Nizza, +1. Ich akzeptiere diese Antwort, kann nicht testen, da ich mit dem College fertig bin. nikhil vor 9 Jahren 1
0
Giacomo Tecya Pigani

Ich weiß, ich bin etwas spät dran, aber ich habe dafür eine Chromerweiterung gemacht. Wenn jemand es braucht ...

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

Können Sie den verknüpften Inhalt detaillierter beschreiben und erklären, wie er sich auf die Frage bezieht? Dadurch wird sichergestellt, dass diese Antwort auch dann nützlich ist, wenn der Link ungültig wird. Achten Sie außerdem darauf, dass Sie Links mit Antworten dieser Art posten. Diese könnten von der Community als Spam angesehen werden, richtig oder nicht. Weitere Informationen finden Sie in der [Hilfe / Verhalten]. bwDraco vor 9 Jahren 0
Nun, das OP fragte nach "Automatisieren der Anmeldung über Sonicwall" und ich habe eine Erweiterung vorgenommen, um genau das zu tun, da meine Universität das gleiche System verwendet Giacomo Tecya Pigani vor 9 Jahren 0
Sie sind zu spät für mich, ich habe keine Möglichkeit, das auszuprobieren. Ich werde das +1 geben, vielleicht hilft es jemand anderem. Vielen Dank für das Teilen hier. nikhil vor 9 Jahren 0