Forum: PC-Programmierung excel IP Länder zuweisen


von Klaus (Gast)


Lesenswert?

Hi

Ich habe eine IP Liste im csv Format und möchte nun bei jeder IP das 
zugehörige Land angeben. Dazu hab ich eine IP range country list 
heruntergeladen von db-ip.com/db/download/ip-to-country-lite

Wie kann ich in excel eine IP prüfen ob sie innerhalb einer bestimmten 
range liegt?

von DPA (Gast)


Lesenswert?

Ich weiss nicht, wie das bei Excel ist. Aber bei LibreOffice würde ich 
daraus erstmal eine Zahl machen:
1
=REGEX(B7,"[0-9]+",,4) + REGEX(B7,"[0-9]+",,3)*256 + REGEX(B7,"[0-9]+",,2)*256*256 + REGEX(B7,"[0-9]+",,1)*256*256*256

Damit kann man nämlich bei einem IP Range schauen, ob die IP im range 
liegt, wie bei jeder anderen Zahl: min <= ip <= max.

Ich weiss aber nicht, wie man dass dann mit einer ganzen Liste von IPs 
und Ranges macht.

Mit einem python script oder so währe das alles einfacher lösbar.

von Oliver S. (oliverso)


Lesenswert?

DPA schrieb:
> Mit einem python script oder so währe das alles einfacher lösbar.

Mir Excel auch.

Und ja, erst mal eine (oder mehrere) Zahlenwerte draus machen, und die 
dann mit Datenbankfunktionen auswerten.

Oliver

von c-hater (Gast)


Lesenswert?

Oliver S. schrieb:
> DPA schrieb:
>> Mit einem python script oder so währe das alles einfacher lösbar.
>
> Mir Excel auch.
>
> Und ja, erst mal eine (oder mehrere) Zahlenwerte draus machen, und die
> dann mit Datenbankfunktionen auswerten.
>
> Oliver

Der Fehler liegt tatsächlich schon in der Wahl des Werkzeugs, nur dass 
er hier nicht etwa in der Wahl von Excel besteht, sondern in der Wahl 
des Datenbank-Formats. Die DB gibt's nämlich auch in einem Format, was 
speziell für schnelle IP-Lookups optimiert ist. Sprich: statt CSV würde 
man hier die MMDB-Variante wählen.

Wenn's nun bei Excel als Frontend bleiben soll, dann muss man sich einem 
Kopf darüber machen, wie man so eine MMDB-DB von dort aus benutzt 
bekommt. Und das ist recht einfach. Einen DB-"Treiber" in C# gibt es 
bereits (vom Erfinder des DB-Formats selber bereit gestellt). Der muß 
bloß noch mit einem kleinen Stück Wrapper-Code ausgestattet werden, um 
von Excel aus sinnvoll nutzbar zu werden.

von Andre (Gast)


Lesenswert?

DPA schrieb:
> Mit einem python script

Es gibt da vom IPFire Projekt eine schöne Library: 
https://location.ipfire.org

IP Adresse rein, Land & AS-Nummer raus. Dadurch dass die ein eigenes 
Datenbank-Format verwenden läuft so eine Abfrage unglaublich schnell.

von Manfred S. (Firma: Manfred) (xfred343)


Lesenswert?

Ein kleines VBA-Programm wahlweise als user defined function oder mit 
einem Button zu starten löst das Problem in Sekundenbruchteilen..

von Purzel H. (hacky)


Lesenswert?

Klopp die Idee in die Tonne. Vor ein paar Jahren was das noch etwas. Ein 
modernes Opera, resp Firefox hat VPN clickbar in der URL Zeile. Und 
click .. bin ich in Amerika, Afrika, Europa, Russland ... genau 
deswegen, um neugierige Server zu taeuschen.

Die praesentierte Loesung macht das schon richtig, weisst der IP 
wahrscheinlich das richtige Land zu, ausser, dass der User eben nicht 
dort ist

: Bearbeitet durch User
von Robert K. (Firma: Zombieland) (rko)


Lesenswert?

Klaus schrieb:
> Ich habe eine IP Liste im csv Format und möchte nun bei jeder IP das
> zugehörige Land angeben. Dazu hab ich eine IP range country list
> heruntergeladen von db-ip.com/db/download/ip-to-country-lite
wozu soll das gut sein und was machst Du bei Tor?

von Daniel A. (daniel-a)


Lesenswert?

Robert K. schrieb:
> was machst Du bei Tor?

Da gibt's auch eine liste. Sogar eine offizielle!
https://check.torproject.org/torbulkexitlist

von Robert K. (Firma: Zombieland) (rko)


Lesenswert?

Daniel A. schrieb:
> Da gibt's auch eine liste. Sogar eine offizielle!
> https://check.torproject.org/torbulkexitlist
das nützt ihm nur kaum was - denn die ursprüngliche Adresse und damit 
das eigentliche Land dahinter sieht er dann ja trotzdem nicht :-)
Na ja, komische Anwendung von Klaus (Gast) & BND & Co KG :-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.