Solved

Determine My IP Address

Posted on 2003-10-27
8
14,331 Views
Last Modified: 2013-12-09
Hi,

I'm writing a perl script for firewall configuration and I need a way of determining my ip address into a variable.

Ie: The ip address of the person telnetted / ssh'd into the system and running the script.
0
Comment
Question by:Plucka
  • 5
  • 3
8 Comments
 
LVL 62

Expert Comment

by:gheist
ID: 9631988
and which exactly is the address you need???
netstat and ifconfig may become useful when combined with awk
0
 
LVL 18

Author Comment

by:Plucka
ID: 9632001
As above the IP address of the user running the script.
0
 
LVL 62

Expert Comment

by:gheist
ID: 9632830
ahh, so
for remote only:
$ who am i | awk -F" " '// { print $4}'
and same for ssh only:
SSH_CLIENT variable is set by OpenSSH server(disable telnet NOW)
0
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 
LVL 62

Expert Comment

by:gheist
ID: 9632839
$ id -p
shows if su has been used...
0
 
LVL 18

Author Comment

by:Plucka
ID: 9632936
Ok,

That doesnt work cause my server returns a DNS name in the who am i bit, I used to do that.

From your other post I can get the IP address by doing

netstat -n | grep '192.168.1.11.22'

Which shows me the connection on port 22 to the server 192.168.1.11 This returns.

tcp4       0     20  192.168.1.11.22      192.168.1.60.4895    ESTABLISHED

which using your awk example i can do this.

netstat -n | grep '192.168.1.11.22' | awk -F" " '// { print $5}'

which gives me

192.168.1.60.4895

So i'm almost there, have little experience with awk, can you help me with the awk command to pull off the last .4895 bit.
0
 
LVL 18

Author Comment

by:Plucka
ID: 9632955
Ok if I add

netstat -n | grep '192.168.1.11.22' | awk -F" " '// { print $5}' -F"." '// {print $1$2$3$4}'

I get the ip address without the .'s ie (192.168.1.60 is shown as 192168160)  
0
 
LVL 62

Expert Comment

by:gheist
ID: 9633323
no need for grep:
netstat -n | awk -F" " '/192.168.1.11.22/ { print $5}' -F"." '// {print $1.$2.$3.$4}'
0
 
LVL 62

Accepted Solution

by:
gheist earned 500 total points
ID: 9633376
now you tell you have only ssh:

echo $SSH_CLIENT | awk '// {print $1}'
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Installing FreeBSD… FreeBSD is a darling of an operating system. The stability and usability make it a clear choice for servers and desktops (for the cunning). Savvy?  The Ports collection makes available every popular FOSS application and packag…
Introduction Regular patching is part of a system administrator's tasks. However, many patches require that the system be in single-user mode before they can be installed. A cluster patch in particular can take quite a while to apply if the machine…
Learn how to get help with Linux/Unix bash shell commands. Use help to read help documents for built in bash shell commands.: Use man to interface with the online reference manuals for shell commands.: Use man to search man pages for unknown command…
In a previous video, we went over how to export a DynamoDB table into Amazon S3.  In this video, we show how to load the export from S3 into a DynamoDB table.

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question