[bash]Test ob gültige IP

Dieses Thema: "[bash]Test ob gültige IP" im Forum "Shell-Skripte" wurde erstellt von Phate, 23.10.2004.

  1. Phate

    Phate Frickler/Kellerkommunist

    Dabei seit:
    08.02.2004
    Beiträge:
    261
    Zustimmungen:
    0
    Ort:
    Rheinland
    Tach, ich brauche in einem shellscript eine Überprüfung einer von einem User eingegeben IP, d.h. daß sie 4 Nummern-Blöcke und 3 Punkte hat und nicht aus 7 Zahlen mit Kommata usw besteht.
    Ich dachte eventuell so:
    Code:
    if echo $var | egrep <muster>; then blabla
    Es geht jetzt um <muster>, keine Ahnung wie ich ein Muster für grep schreiben könnte, welches IP-Adressen beschreibt.
    Die Punkte würde ich so darstellen : \.
    nur wie die Zahlen?

    Jemand ne Idee oder einen anderen einfacheren Lösungsansatz?

    Vielen Dank,
    Phate
     
  2. Cyber

    Cyber .:DISTORTED:.

    Dabei seit:
    16.05.2003
    Beiträge:
    999
    Zustimmungen:
    0
    Ort:
    D -> BW -> Karlsruhe
    Bei den regexp gehts mit [0-9] , allerdings solltest du ja auch den Bereich 0-255 prüfen, daher würd ich die IP nachdem sie auf korrete syntax geprüft würde in vier werte zerlegen und diese nochmals auf checken ob sie in einem gültigen Bereich liegen.
     
  3. #3 Phate, 23.10.2004
    Zuletzt bearbeitet: 23.10.2004
    Phate

    Phate Frickler/Kellerkommunist

    Dabei seit:
    08.02.2004
    Beiträge:
    261
    Zustimmungen:
    0
    Ort:
    Rheinland
    Cybermarc: Genau das habe ich gerade gemacht! Nach anfänglichen Versuchen alles in einem zu haben und der Problematik mit 1-255 ist das dabei heraus gekommen, vielleicht kanns ja mal wer anderes gebrauchen:
    Code:
    #!/bin/bash
    # IP-Test
    
    echo "type an ip to check for:"
    read var
    
    if echo $var |egrep '.*\..*\..*\..*' >/dev/null 2>&1; then
      
      counter=1
      start=1
      stop=255
      
      while [ $counter -le '4' ]; do
      
          if [ ! `echo $var|awk -F. '{print $'$counter'}'` -ge $start ] || \
             [ ! `echo $var|awk -F. '{print $'$counter'}'` -le $stop ]; then           
    	      echo "IP invalid"
    	      exit 1
          fi	    
          counter=`expr $counter + 1`
      done
          
      else echo "wrong syntax"
      exit 1
    fi
    
    echo "$var is a valid IP"
    

    Die letzte Frage bleibt dennoch bestehen: kennt jemand ne kürzere Lösung? Eine elegantere? Ohne externe Programme wie ipcalc oder root-Rechte?

    Gruß, Phate

    Ach ich liebe bash :)
     
  4. rup

    rup Haudegen

    Dabei seit:
    10.04.2002
    Beiträge:
    627
    Zustimmungen:
    0
    Code:
    if echo $var | 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])$" ; then  echo ok ; fi 
    :rolleyes: 8o
     
  5. Phate

    Phate Frickler/Kellerkommunist

    Dabei seit:
    08.02.2004
    Beiträge:
    261
    Zustimmungen:
    0
    Ort:
    Rheinland
    8o ;( :respekt:

    Oh Gott...
     
Thema:

[bash]Test ob gültige IP

Die Seite wird geladen...

[bash]Test ob gültige IP - Ähnliche Themen

  1. LibreOffice enthält rechtsgültige PDF-Signaturen

    LibreOffice enthält rechtsgültige PDF-Signaturen: Nachdem die Fundraising-Kampagne zur Erstellung digitaler PDF-Signaturen in LibreOffice innerhalb weniger Tage ihr Sponsoringziel übertroffen...
  2. su meldet ungültiges Kennwort ohne eines abzufragen

    su meldet ungültiges Kennwort ohne eines abzufragen: Hallo Leute, ich habe auf meinem Centos Webserver ein seltsames verhalten von SU... Ich logge mich mit einem Standarduser ein und wechsele...
  3. Kmail Lesen der Datei nicht möglich: Ungültige Antwort vom Server: „. “

    Kmail Lesen der Datei nicht möglich: Ungültige Antwort vom Server: „. “: Hallo, Kmail gib folgende Fehlermeldung: Lesen der Datei nicht möglich: Ungültige Antwort vom Server: „. “ Kmail zeigt noch an das neue...
  4. Ungültige Buchstaben

    Ungültige Buchstaben: Hallo miteinander, auf meinem Notebook sind mehrere Dateien, welche einen Zeichensalat als Dateinamen inne haben. Mein Problem besteht darin,...
  5. ungültige Dateinamen ntfs

    ungültige Dateinamen ntfs: Hallo Ich benutze linux, meine Frau WindowsXP. Aus diesem Grund schreibe ich auf die externe Festplatte (ntfs) mit ntfs-3g Treiber. Allerdings...