commandlinefu.com is the place to record those command-line gems that you return to again and again.
You can sign-in using OpenID credentials, or register a traditional username and password.
Subscribe to the feed for:
If you don't send an interface, it shows private IP address of all interfaces
Just replace eth3 with the interface you want the MAC for.
This command is useful when you want to check your nic's mac address, if you're interested in your wireless interface, use its ID instead "eth".
This command was tested under Ubuntu and Slackware GNU/Linux.
This is what we use.
You can grep -v 127.0.0.1 if you wish.
This also works on non-Linux machines. If you have GNU sed you can do it more elegantly:
ifconfig | sed -n 's/^\s*inet \(addr:\)\?\([^\s]*\) .*/\2/;T;/^127\./d;p'
Shows only IP-addresses of ifconfig except 127.0.0.0/8.
I fixed the script to work on more systems and configs
/inet/!d; #grep inet
/127.0/d; # grep -v 127.0
/dr:\s/d; # grep -v dr:
s/^.*:\(.*\)B.*$/\1/ # remove everything exept between : and B
short enough to be tweetable
I've been using it in a script to build from scratch proxy servers.
Simple and easy. No regex, no search and replace. Just clean, built-in tools.
only output the ip addres. I put double pipe with sed because not parse with operator OR (|) in redex.
This will get the mac address of the eth0 and change lowercase to uppercase.
The sed command removed the colons.
This is helpful if you connect to several networks with different subnets such as 192 networks, 10 networks, etc. Cuts first three octets of ip from ifconfig command and runs nmap ping scan on that subnet.
Replace wlan0 with your interface. Assumes class c network, if class b use: cut -d "." -f 1-2 and change nmap command accordingly.
gets the last number of the mac address to use it for other stuff
Interfaces like lo can be omitted from the beginning, there are probably better ways of doing this, i'm a noob at awk.
If you want to check that the spoof worked, type the same command as earlier:
ifconfig en1 | grep ether
Now you will see:
For the wired ethernet port:
sudo ifconfig en0 ether 00:e2:e3:e4:e5:e6
Gets the IP addresses of all interfaces except loopback. Cuts out all of the extra text.
Shorter than the other options, and much easier to type.
'ifconfig | grep cast' is enough to get the IP address, but it doesn't strip the rest of the junk out.
This doesn't make any assumptions about your IP address and prints out one IP address per line if you have multiple network interfaces.