Pereiti prie turinio

UNIX. Kaip nustatyti ar serverio ip adresas yra išorinis ar vidinis?


Rekomenduojami pranešimai

Sveiki, gal yra žmonių gerai išmanančių shell'a? Bet kokia pagalba praverstų.

Sąlyga:Iš pradžių rašant scriptą, reik nustatyti serverio IP adresą, o po to dar reik nustatyti ar tai išorinis ar tai vidinis IP adresas. Tai va, iškilo klausimų nustatant tą IP adreso tipą. Kažkaip reik lygint pirmus du/tris IP adreso bitus. Tik bėda tame, kad nelabai kyla idėjos kaip ta aprašyt, gal jūs ką nors patarsite?

Redagavo defikas
Nuoroda į pranešimą
Dalintis kituose puslapiuose

paprastas, levas, bet veikiantis

 

#!/bin/sh

IP1=$1


IPN1=`echo $IP1 | awk -F '.' '{print $1}'`
IPN2=`echo $IP1 | awk -F '.' '{print $2}'`

if [ $IPN1 -eq 10 ]; then 
echo "vidinis";
elif [ $IPN1 -eq 192 -a $IPN2 -eq 168 ]; then
 echo "vidinis";
elif [ $IPN1 -eq 172 ]; then 
 if [ $IPN2 -ge 16 -a $IPN2 -lt 32 ]; then
  echo vidinis
 else 
  echo issorinis
 fi
else 
 echo issorinis
fi

 

 

$ for I in 192.168.1.1 192.168.39.39 192.167.39.39 192.169.39.39 172.15.1.1 172.16.1.1 172.32.1.1 10.0.1.1; do printf ${I}" "; ./a.sh ${I}; done

192.168.1.1 vidinis

192.168.39.39 vidinis

192.167.39.39 issorinis

192.169.39.39 issorinis

172.15.1.1 issorinis

172.16.1.1 vidinis

172.32.1.1 issorinis

10.0.1.1 vidinis

Redagavo sesee
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...