Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Code to detect DHCP given IP
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Networking & Security
View previous topic :: View next topic  
Author Message
The Dark
Tux's lil' helper
Tux's lil' helper


Joined: 01 Feb 2003
Posts: 126
Location: BACK ON PLANET GENTOO

PostPosted: Sat Feb 15, 2003 2:43 pm    Post subject: Code to detect DHCP given IP Reply with quote

Hello again.
I'm getting my IP from a DHCP server (router) but i wanted a piece of code to get my IP, as it's changes every time i boot up (yeah yeah i know what your thinking).
The piece of code that i have at the moment is like this


Code:

## Determine external IP
EXTIP="`ifconfig $EXTIF | grep inet | cut -d : -f 2 | cut -d \  -f 1`"
  if [ "$EXTIP" = '' ]; then
     echo "Aborting: Unable to determine the IP-address of $EXTIF !"
     exit 1
  fi
echo External IP: $EXTIP


The problem with this code is that it gives me 2 ip's.
The one i get from the DHCP server and my lo IP 127.0.0.1

Hmm is there a nother way to do this ?

Oh yeah i'm trying to write a iptables startup script.
And yeah i didn't write the code myself its copied from another script :oops: :oops:
Anybody
_________________
-=The Dark=-
Linux Rules
i686 Pentium III (Coppermine) GenuineIntel
http://www.gentoo.org
Back to top
View user's profile Send private message
pilla
Bodhisattva
Bodhisattva


Joined: 07 Aug 2002
Posts: 7731
Location: Underworld

PostPosted: Sat Feb 15, 2003 3:51 pm    Post subject: Reply with quote

Code:

## Determine external IP
EXTIP="`ifconfig $EXTIF | grep inet | cut -d : -f 2 | cut -d \  -f 1 | sed /127.0.0.1/D `"
  if [ "$EXTIP" = '' ]; then
     echo "Aborting: Unable to determine the IP-address of $EXTIF !"
     exit 1
  fi
echo External IP: $EXTIP

_________________
"I'm just very selective about the reality I choose to accept." -- Calvin
Back to top
View user's profile Send private message
fifo
Guru
Guru


Joined: 14 Jan 2003
Posts: 437

PostPosted: Sat Feb 15, 2003 4:06 pm    Post subject: Reply with quote

You don't need sed, you just need to set EXTIF to the interface that you want the ip of, for example eth0 or ppp0.
Back to top
View user's profile Send private message
The Dark
Tux's lil' helper
Tux's lil' helper


Joined: 01 Feb 2003
Posts: 126
Location: BACK ON PLANET GENTOO

PostPosted: Sat Feb 15, 2003 4:11 pm    Post subject: Reply with quote

Bloody Bastard wrote:
Code:

## Determine external IP
EXTIP="`ifconfig $EXTIF | grep inet | cut -d : -f 2 | cut -d \  -f 1 | sed /127.0.0.1/D `"
  if [ "$EXTIP" = '' ]; then
     echo "Aborting: Unable to determine the IP-address of $EXTIF !"
     exit 1
  fi
echo External IP: $EXTIP

Sorry Bloody but i'm getting an syntax error with this piece of code,, can't figure out what's wrong with it.
:oops: :? :?
_________________
-=The Dark=-
Linux Rules
i686 Pentium III (Coppermine) GenuineIntel
http://www.gentoo.org
Back to top
View user's profile Send private message
pilla
Bodhisattva
Bodhisattva


Joined: 07 Aug 2002
Posts: 7731
Location: Underworld

PostPosted: Sat Feb 15, 2003 4:18 pm    Post subject: Reply with quote

What is the error? It runs OK for me.

Try using copy-and-paste to create the file. Try also specifying /sbin/ifconfig instead of ifconfig.
_________________
"I'm just very selective about the reality I choose to accept." -- Calvin
Back to top
View user's profile Send private message
The Dark
Tux's lil' helper
Tux's lil' helper


Joined: 01 Feb 2003
Posts: 126
Location: BACK ON PLANET GENTOO

PostPosted: Sat Feb 15, 2003 4:23 pm    Post subject: Reply with quote

Ok let me break it down to yah all.
It's like this.
I'm behind one of those hardware router boxes.
I checked it at http://www.grc.com and came up with a lot of open ports.(cheap box)
know i don't have nothing running on this box except for GENTOO so i decided to chek it out at http://scan.sygate.com and it was stealth al the way.
what i want is to make a iptables script to make things tight just in case.
But i reboot a lot (yeah even linux) and evevry time it's a new ip.(there are other pc's hanging on this box)
Had a script working but had to change IP every time.
Want a script code that could do this automaticly...
LET ME KNOW :D
_________________
-=The Dark=-
Linux Rules
i686 Pentium III (Coppermine) GenuineIntel
http://www.gentoo.org
Back to top
View user's profile Send private message
jda
n00b
n00b


Joined: 11 Feb 2003
Posts: 5

PostPosted: Mon Feb 17, 2003 9:13 am    Post subject: Reply with quote

Presuming that your only real interface is eth0, add a line just following the comment to define the interface's name. If $EXTIF lacks a value, ifconfig(8) gets called with no options, which is why you are getting all your interfaces (eth0, lo) listed in the output.

Code:

## Determine external IP
EXTIF="eth0"  # ADD THIS LINE
EXTIP="`ifconfig $EXTIF | grep inet | cut -d : -f 2 | cut -d \  -f 1 `"
  if [ "$EXTIP" = '' ]; then
     echo "Aborting: Unable to determine the IP-address of $EXTIF !"
     exit 1
  fi
echo External IP: $EXTIP

If you had multiple interfaces that changed each time, you could define multiple interfaces in the variable, and use a 'for' loop to iterate over each:
Code:

## Determine external IP
EXTIF="eth0 eth1"
for IF in $EXTIF
do
  EXTIP=`ifconfig $IF | grep inet | cut -d : -f 2 | cut -d \  -f 1 `
    if [ "$EXTIP" = '' ]; then
      echo "Aborting: Unable to determine the IP-address of $EXTIF !"
      exit 1
    fi
  echo "Interface: $IF      IP:$EXTIP"
  EXTIP=''   # clear for next iteration
done
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Networking & Security All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum