URL Liste -> IPs auflösen
#1 _Member_ZERO_
geschrieben 04. Februar 2013 - 12:25
da wir in einem öffentlichen Internetbereich unserer HS, welcher durch die studentische Selbstverwaltung administriert wird, das Problem des Missbrauchs für illegale Downloads haben, haben wir eine FW/Proxy, in welcher jede Woche eine Liste der URLs von Filehostern aktualisiert und gesperrt wird.
Das Problem ist, dass wir zZ händisch die zugehörigen IPs auflösen und diese dann ebenso sperren. Das ist bei über 300 Einträgen sehr aufwändig.
Ich dachte mir da ein Script in C/C++, welches mittels nslookup automatisch die Antwort in eine txt Datei schreibt, doch leider funktioniert das nicht, da ich nicht weiß, wie ich die Antwort des Programms listen kann.
Da ich nur in C Kenntnisse habe, bzw. meine C++ Kenntnisse total verrostet sind, gibt es vll. jemanden hier, der eine Lösung hat bzw. soetwas selber schon mal realisiert hat.
Fragt sich also, womit ich möglichst mit Windows oder Linux eigenen Boardmitteln die Antwort/IP mitschneiden kann, sodass ich zum Schluss aus meiner Liste mit URLs eine Liste von IPs habe.
Problem ist auch, dass mehrere Hoster unterschiedlich viele V-Server laufen haben. Das ist ersichtlich, wenn man so manchen Online-Service nutzt und man als Antwort mehrere IPs bekommt, welche beim Versuch auch alle wirklich zum Hoster führen.
VG MZ
Anzeige
#2
geschrieben 04. Februar 2013 - 13:44
Das ganze auf IP Ebene zu sperren dürfte langwierig werden und mit 300 Einträgen nicht zu schaffen sein...
100% wasserdicht ist das ganze natürlich auch nicht, sondern erschwert das ganze nur...
Dieser Beitrag wurde von bb83 bearbeitet: 04. Februar 2013 - 13:45
#3
geschrieben 04. Februar 2013 - 13:59
for site in $(cat sites.txt) do echo "#$site" nslookup "$site" | awk 'NR>2 && /Address/ {print $2}' done
Ergibt für eine sites.txt mit
heise.de google.com
#heise.de 193.99.144.80 #google.com 173.194.70.139 173.194.70.113 173.194.70.101 173.194.70.100 173.194.70.138 173.194.70.102?
Dieser Beitrag wurde von ph030 bearbeitet: 04. Februar 2013 - 14:00
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#4 _Member_ZERO_
geschrieben 04. Februar 2013 - 19:53
Zitat (bb83: 04. Februar 2013 - 13:44)
Das ganze auf IP Ebene zu sperren dürfte langwierig werden und mit 300 Einträgen nicht zu schaffen sein...
100% wasserdicht ist das ganze natürlich auch nicht, sondern erschwert das ganze nur...
Eine DNS Sperre haben wir ja und einen eigenen DNS Server auch und das hatte an sich auch bis vor Kurzem gut geklappt, doch jetzt kommen die Leute mit Ihren Linkpaketen von der HS in unser Netz und lassen die Downloads über die Server-IPs laufen. Wir verwarnen auch die Leute und es folgen Sperren, doch müssen wir da immer gucken, auf welchen Server genau der Traffic ging, was schon an Spionage grenzt. Daher soll hier ein Riegel vorgeschoben werden. IP Filter ist auch besser als URL, da die Server ja eine statische IP über Jahre haben, sofern sie nicht umziehen. Ne neue URL kann es ja in ein paar Sekunden immer geben. Da ist ein 1 Wochen Zyklus eine Ewigkeit.
Zitat (ph030: 04. Februar 2013 - 13:59)
for site in $(cat sites.txt) do echo "#$site" nslookup "$site" | awk 'NR>2 && /Address/ {print $2}' done
Ergibt für eine sites.txt mit
heise.de google.com
#heise.de 193.99.144.80 #google.com 173.194.70.139 173.194.70.113 173.194.70.101 173.194.70.100 173.194.70.138 173.194.70.102?
Cool danke muss ich gleich mal probieren. Wie kommst du auf die Ausgabe von nslookup? Stand das iwo?
#5
geschrieben 04. Februar 2013 - 20:32
Zitat (Member_ZERO: 04. Februar 2013 - 19:53)
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#6 _Member_ZERO_
geschrieben 04. Februar 2013 - 21:10
Hm also bei mir funzt es nicht. Beim Ausführen meint es: "site" kann syntaktisch an dieser Stelle nicht verarbeitet werden. for site in $(cat sites.txt)
#7
geschrieben 04. Februar 2013 - 23:12
Zitat (Member_ZERO: 04. Februar 2013 - 21:10)
NR ist die aktuelle Zeilennummer der Eingabe. Die ersten beiden Zeilen in der Ausgabe von `nslookup domain.tld` sind stets
Server: 10.0.0.1 Address: 10.0.0.1#53Also die IP und Port des DNS, das du verwendest; da du das ja nicht brauchst, geht's erst ab Zeile 3 (>2!) los mit der Verarbeitung.
Zitat
Was verwendest du für eine Shell? Bash und ZSH funktioniert einwandfrei.
Dieser Beitrag wurde von ph030 bearbeitet: 04. Februar 2013 - 23:13
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#8 _Member_ZERO_
geschrieben 05. Februar 2013 - 14:35
Zitat (ph030: 04. Februar 2013 - 23:12)
Server: 10.0.0.1 Address: 10.0.0.1#53Also die IP und Port des DNS, das du verwendest; da du das ja nicht brauchst, geht's erst ab Zeile 3 (>2!) los mit der Verarbeitung.
Was verwendest du für eine Shell? Bash und ZSH funktioniert einwandfrei.
Ah vielen Dank für die Erklärung.
Ich nutze die den Windows-Maschinen die Kommandozeile
Was für ein Forum : Ich schreibe Win(doof) und es macht Windows draus
#9
geschrieben 05. Februar 2013 - 15:28
Zitat
Zu verkaufen:
Xbox, komplett PC (WF Link)
Hardware, Games, Comics und noch mehr Zeug (eBay-KA Link)
#10 _Member_ZERO_
geschrieben 05. Februar 2013 - 18:05
#11 _d4rkn3ss4ev3r_
geschrieben 05. Februar 2013 - 18:15
for /f %i in ('type sites.txt') do nslookup %i|find /v "Server"|find /v "Address">>lookup.txt
#12 _Member_ZERO_
geschrieben 05. Februar 2013 - 18:38
#13 _d4rkn3ss4ev3r_
geschrieben 05. Februar 2013 - 18:44
#14 _Member_ZERO_
geschrieben 05. Februar 2013 - 18:54
In der cmd erhalte ich nun syntaxfehler.
#15 _d4rkn3ss4ev3r_
geschrieben 05. Februar 2013 - 18:56
Die sites.txt exisitert aber schon in dem Ordner, indem du das Script startest?
- ← Suche ähnliches Programm wie "RPG Maker XP"
- Programmierung
- [gelöst] Deserialisiertes Objekt nach Zuweisung == NULL →