取MAC地址的方法(已解决)-有新问题,参数传递

取MAC地址的方法(已解决)-有新问题,参数传递

取指定IP的MAC地址,有几种方法?

如:arp -a 192.168.0.1
      
      nmblookup -A 192.168.0.1

谢谢大家。
ifconfig也可以吧
是的,可以,但我是要取非本机的MAC。
建议做成一个脚本,弄出整个局域网的MAC。
$vi  scanaddr.sh
[code:1]
#!/bin/bash

if [ $# -eq 1 ]  ; then
        nmap  -n -sP $1  |
        perl -ne 'printf("\n%s",$1) if /Host ([\d\.]+)/ ;
                printf ("\t%s\t%s",$1,$2) if /MAC Address: ([\dA-F\:]+) (\(.*\))/   '
        echo -e "\n"
else
        echo $0 :Network
fi

[/code:1]
OS:debian (testing)
nmap 4.0

./scanaddr.sh 192.168.18.0/24
輸出類似
192.168.18.2     00:0C:6E:B6:0D:0F       (Asustek Computer)
192.168.18.3   00:30:6E:00:E7:44       (Hewlett Packard)
192.168.18.6   00:30:6E:00:F3:DE       (Hewlett Packard)
192.168.18.14   00:30:6E:00:DC:60       (Hewlett Packard)
....
arping -c 1 IP | grep index | awk '{print $4}'
已收藏。。。
gangjh 兄弟的方法是最快的,再次感谢。

#!/bin/bash
   
IP12=192.168.

IP3=0
while (( $IP3 < 1 ))
do
  IP4=1
  while (( $IP4 < 255 ))
  do
      IP="$IP12$IP3.$IP4"
      MAC="00:00:00:00:00:00:00"
      IP4=`expr $IP4 + 1`
  done
  IP3=`expr $IP3 + 1`
done

fi

这段脚本如何才能更智能化一点,比如我输入
#name 192.168.0.0/24
他自动输出所有$1 参数网段的IP与MAC(空的也可)对应表
请问大虾,怎么修改自己的物理地址(MAC)?
[code:1]#!/bin/sh
net="192.168.0"
for i in $(seq 2 254); do
    x=`arping -c 1 $net.$i | grep index | awk '{print $4}'`
    if [ -z $x ]
    then
        x="00:00:00:00:00:00"
    fi
    echo -e "$net.$i\t$x" >> /etc/ethers
done[/code:1]
做 ip 地址和 MAC 地址绑定用到的脚本。