WinFuture-Forum.de: URL Liste -> IPs auflösen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 3 Seiten +
  • 1
  • 2
  • 3

URL Liste -> IPs auflösen

#1 _Member_ZERO_

  • Gruppe: Gäste

geschrieben 04. Februar 2013 - 12:25

Hallo,

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
0

Anzeige

#2 Mitglied ist offline   bb83 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.806
  • Beigetreten: 30. August 05
  • Reputation: 19

geschrieben 04. Februar 2013 - 13:44

Macht es nicht mehr Sinn über eine DNS Sperre zu gehen und per Firewall nur die DNS Server des Studentenheims zu erlauben?
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

0

#3 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.675
  • Beigetreten: 14. Juli 04
  • Reputation: 35

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

1

#4 _Member_ZERO_

  • Gruppe: Gäste

geschrieben 04. Februar 2013 - 19:53

Beitrag anzeigenZitat (bb83: 04. Februar 2013 - 13:44)

Macht es nicht mehr Sinn über eine DNS Sperre zu gehen und per Firewall nur die DNS Server des Studentenheims zu erlauben?
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.

Beitrag anzeigenZitat (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?
0

#5 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.675
  • Beigetreten: 14. Juli 04
  • Reputation: 35

geschrieben 04. Februar 2013 - 20:32

Beitrag anzeigenZitat (Member_ZERO: 04. Februar 2013 - 19:53)

Wie kommst du auf die Ausgabe von nslookup? Stand das iwo?
hü?
0

#6 _Member_ZERO_

  • Gruppe: Gäste

geschrieben 04. Februar 2013 - 21:10

Ich versteht das NR>2 nicht :).

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)
0

#7 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.675
  • Beigetreten: 14. Juli 04
  • Reputation: 35

geschrieben 04. Februar 2013 - 23:12

Beitrag anzeigenZitat (Member_ZERO: 04. Februar 2013 - 21:10)

Ich versteht das NR>2 nicht :).


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#53
Also 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

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)

Was verwendest du für eine Shell? Bash und ZSH funktioniert einwandfrei.

Dieser Beitrag wurde von ph030 bearbeitet: 04. Februar 2013 - 23:13

1

#8 _Member_ZERO_

  • Gruppe: Gäste

geschrieben 05. Februar 2013 - 14:35

Beitrag anzeigenZitat (ph030: 04. Februar 2013 - 23:12)

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#53
Also 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 :blush:

Was für ein Forum :D: Ich schreibe Win(doof) und es macht Windows draus :veryangry:
0

#9 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 4.675
  • Beigetreten: 14. Juli 04
  • Reputation: 35

geschrieben 05. Februar 2013 - 15:28

Zitat

Ich nutze die den Windows-Maschinen die Kommandozeile
Ja, sry, oben stand mit Windows- oder Linux-Boardmitteln, ergo nahm ich das für mich einfachere. Mußt du ev. halt anpassen für Windows, dabei kann ich dir nicht helfen.
0

#10 _Member_ZERO_

  • Gruppe: Gäste

geschrieben 05. Februar 2013 - 18:05

Ach für Linux gibts auch nslookup? Dachte das ist so ein Windows Ding.
0

#11 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.583
  • Beigetreten: 03. Januar 09
  • Reputation: 324

geschrieben 05. Februar 2013 - 18:15

Windows:
for /f %i in ('type sites.txt') do nslookup %i|find /v "Server"|find /v "Address">>lookup.txt
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


Winfuture Styling Crew

"Google speichert meine Daten" SSL Suchergebnis bei google.de
ACTA || ! Stop CISPA + Stop IPRED + Stop CETA ! || Appell gegen das neue Meldegesetz
0

#12 _Member_ZERO_

  • Gruppe: Gäste

geschrieben 05. Februar 2013 - 18:38

Beitrag anzeigenZitat (d4rkn3ss4ev3r: 05. Februar 2013 - 18:15)

Windows:
for /f %i in ('type sites.txt') do nslookup %i|find /v "Server"|find /v "Address">>lookup.txt

Hallo,

hier spuckt es gleichen Fehler für "in" aus.
0

#13 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.583
  • Beigetreten: 03. Januar 09
  • Reputation: 324

geschrieben 05. Februar 2013 - 18:44

In einer Eingabeaufforderung klappt es. Willst du es in einer cmd starten muss %i durch %%i ersetzt werden.
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


Winfuture Styling Crew

"Google speichert meine Daten" SSL Suchergebnis bei google.de
ACTA || ! Stop CISPA + Stop IPRED + Stop CETA ! || Appell gegen das neue Meldegesetz
0

#14 _Member_ZERO_

  • Gruppe: Gäste

geschrieben 05. Februar 2013 - 18:54

Naja ich möchte es als sh oder batch, damit es in einer Routine durchgeführt werden kann :)

In der cmd erhalte ich nun syntaxfehler.
0

#15 Mitglied ist offline   d4rkn3ss4ev3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.583
  • Beigetreten: 03. Januar 09
  • Reputation: 324

geschrieben 05. Februar 2013 - 18:56

Also ich hab das selbst getestet. Bei mir ging es.

Die sites.txt exisitert aber schon in dem Ordner, indem du das Script startest?
"Jene, die grundlegende Freiheit aufgeben würden, um eine geringe vorübergehende Sicherheit zu erwerben,
verdienen weder Freiheit noch Sicherheit." (Benjamin Franklin)


Winfuture Styling Crew

"Google speichert meine Daten" SSL Suchergebnis bei google.de
ACTA || ! Stop CISPA + Stop IPRED + Stop CETA ! || Appell gegen das neue Meldegesetz
0

Thema verteilen:


  • 3 Seiten +
  • 1
  • 2
  • 3

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0