BASH: IP Prüfen
BASH: IP Prüfen
Hi.
hat jemand zufällig eine Patentlösung um eine IPv4-Adresse auf Richtigkeit zu prüfen?
Dabei aber ohne sie extra zu Pingen zu müssen, das wäre momentan meine Idee, doch darauf ist nicht immer Verlass (Gegenstelle PING-Schutz oder offline)
Ich möchte eine IP-Abfrage so erweitern, dass es wenn die eingabe keine gültige IP ist, versucht werden soll (wenn mind. ein Punkt vorhanden) die Eingabe als Host aufzulösen und wenn dann daraus keine vernünftige IP rauskommt einen abbruch erzeugen werden soll.
hat jemand zufällig eine Patentlösung um eine IPv4-Adresse auf Richtigkeit zu prüfen?
Dabei aber ohne sie extra zu Pingen zu müssen, das wäre momentan meine Idee, doch darauf ist nicht immer Verlass (Gegenstelle PING-Schutz oder offline)
Ich möchte eine IP-Abfrage so erweitern, dass es wenn die eingabe keine gültige IP ist, versucht werden soll (wenn mind. ein Punkt vorhanden) die Eingabe als Host aufzulösen und wenn dann daraus keine vernünftige IP rauskommt einen abbruch erzeugen werden soll.
Zuletzt geändert von deb am 12.03.2006 13:08:17, insgesamt 1-mal geändert.
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
hallo,
> hat jemand zufällig eine Patentlösung um eine IP-Adresse auf Richtigkeit zu prüfen?
ja, etliche
http://www.google.de/search?hl=de&q=reg ... uche&meta=
> hat jemand zufällig eine Patentlösung um eine IP-Adresse auf Richtigkeit zu prüfen?
ja, etliche
http://www.google.de/search?hl=de&q=reg ... uche&meta=
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Sorry, aber ich bin kein Fan der regulären Ausdrückefinupsen hat geschrieben:hallo,
> hat jemand zufällig eine Patentlösung um eine IP-Adresse auf Richtigkeit zu prüfen?
ja, etliche
http://www.google.de/search?hl=de&q=reg ... uche&meta=
Vielzu cryptisch. Und wenn es doch mal endlich funktioniert, versagt es trotzdem irgendwann mal.
Mach ich es halt so:
Code: Alles auswählen
ip1=`echo -n "$ip" | cut -d "." -f 1 | tr -d "\n"`
ip2=`echo -n "$ip" | cut -d "." -f 2 | tr -d "\n"`
ip3=`echo -n "$ip" | cut -d "." -f 3 | tr -d "\n"`
ip4=`echo -n "$ip" | cut -d "." -f 4 | tr -d "\n"`
if [ $ip1 -lt 0 ] || [ $ip1 -gt 223 ] || [ $ip1 -eq 127 ]; then ip="bad"; fi
if [ $ip2 -lt 0 ] || [ $ip2 -gt 255 ]; then ip="bad"; fi
if [ $ip3 -lt 0 ] || [ $ip3 -gt 255 ]; then ip="bad"; fi
if [ $ip4 -lt 1 ] || [ $ip4 -gt 254 ]; then ip="bad"; fi
http://www.ietf.org/rfc/rfc3330.txt --- 3. Summary Table
anschaue, ist die Variante noch recht ausbaufähig und sowieso "Regulär" nicht mehr machbar.
Nur mal rein theretisch, wie könnte es mit IPv6 aussehen
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
na... deine meinung. Regex hat sich schon vor jahren etabliert und versagt , wenn der ausdruck korrektdeb hat geschrieben: Und wenn es doch mal endlich funktioniert, versagt es trotzdem irgendwann mal.
ist, niemals ... warum sollte es auch ? gibts eine quelle zu deiner aussage ?
um eine ip zu prüfen hat sich dieses hier etabliert:
Code: Alles auswählen
echo 192.168.0.1 | egrep "^([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])$"
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Ich werde es mal intergrieren, nebenbei Fehler loggen lassen und dann irgendwann bescheid sagenfinupsen hat geschrieben:na... deine meinung. Regex hat sich schon vor jahren etabliert und versagt , wenn der ausdruck korrektdeb hat geschrieben: Und wenn es doch mal endlich funktioniert, versagt es trotzdem irgendwann mal.
ist, niemals ... warum sollte es auch ? gibts eine quelle zu deiner aussage ?
[/code]
Statt einer IP wurde das Datum zur Analyse gefiltert. > kein login mehr möglich
Den Code habe ich aber leider nicht mehr. Beweise mussten dem neuaufgesetzten System unweigerlich weichen
Seitdem nie wieder sed für kritische sachen.
kannst ja gerne mal versuchen ein "versagen" zu findenCode: Alles auswählen
um eine ip zu prüfen hat sich dieses hier etabliert: [code] echo 192.168.0.1 | egrep "^([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])$"
2 Löcher hat es auf jedenfall:
Broadcast und Netzwerk-Bezeichnung lässt es durch.
Gerade bei der x.x.x.255 kann jemand viel ärger mit sowas verursachen. (zumindest in einem Privaten Netzwerk).
Und aus technische Gründen (so glaub ich) ist beim Klasse C bei 223.255.255.254 schluss.
Klasse D und E im Internet = ?
Gruß
Was ist mit 10.1.2.255 im Netz 10.0.0.0/8?deb hat geschrieben:Gerade bei der x.x.x.255 kann jemand viel ärger mit sowas verursachen. (zumindest in einem Privaten Netzwerk).
Und in 10.1.2.0/24?
Es ist förderlich, Glauben durch Wissen zu ersetzen. Lesen bildet.deb hat geschrieben:Und aus technische Gründen (so glaub ich) ist beim Klasse C bei 223.255.255.254 schluss.
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
> hat jemand zufällig eine Patentlösung Wink um eine IPv4-Adresse auf Richtigkeit zu prüfen?
der begriff "richtigkeit" kann unter umständen sehr umfangreich sein ....
*TILT*
der begriff "richtigkeit" kann unter umständen sehr umfangreich sein ....
*TILT*
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
Ich glaube es nicht nur, ich weiß es auchyeti hat geschrieben:Was ist mit 10.1.2.255 im Netz 10.0.0.0/8?deb hat geschrieben:Gerade bei der x.x.x.255 kann jemand viel ärger mit sowas verursachen. (zumindest in einem Privaten Netzwerk).
Und in 10.1.2.0/24?
Es ist förderlich, Glauben durch Wissen zu ersetzen. Lesen bildet.deb hat geschrieben:Und aus technische Gründen (so glaub ich) ist beim Klasse C bei 223.255.255.254 schluss.
223 - 11011111
224 - 11100000 - die Bitfolge von 111..... darf nicht auftauchen. Warum das aber so ist, war hier nicht das Thema
wäre Gültigkeit besser gewesen =?finupsen hat geschrieben:> hat jemand zufällig eine Patentlösung Wink um eine IPv4-Adresse auf Richtigkeit zu prüfen?
der begriff "richtigkeit" kann unter umständen sehr umfangreich sein ....
*TILT*
Auf jedenfall ab 224 ist allgemein Schluss.
Ich freue mich schon auf IPv6
Dann Packe ich meinen Koffer *g*
Du wirst, um besser verstanden zu werden, erstmal eine genaue Definition des Begrifffes "korrekte IP-Adresse" formuliern müssen.
Weiter scheint mir, daß Du noch etwas mehr über das Zusammenspiel von Adressen, Netzwerk-Adressen und Netzmasken lesen wirst, bevor dieses ein korrektes Abbild bestehender Regeln zum Thema IP-Adressieung wird.
Weiter scheint mir, daß Du noch etwas mehr über das Zusammenspiel von Adressen, Netzwerk-Adressen und Netzmasken lesen wirst, bevor dieses ein korrektes Abbild bestehender Regeln zum Thema IP-Adressieung wird.