Shell获取局域网指定IP地址的MAC和主机名,并插入数据库
2013-10-25 15:17
239 查看
脚本mac.sh代码如下
example: 192.168.1.0/24 扫描这个网络段的在线IP
for ip in {1..254}
do
sh mac.sh 192.168.1.$a
done
创建数据库,以下是表结构:
tar zxvf shell.tar.gz
cp nbtscan /usr/bin/
chmod +x /usr/bin/nbtscan
原文已经发在:Linuxtone
本文出自 “Linux Charm” 博客,请务必保留此出处http://imleo.blog.51cto.com/2178095/1315001
example: 192.168.1.0/24 扫描这个网络段的在线IP
for ip in {1..254}
do
sh mac.sh 192.168.1.$a
done
#!/bin/sh if [ -z $1 ];then echo "Please input ipaddress" exit fi ip=$1 filestat=$(ping -c1 $ip |grep transmitted |awk '{print $4}') if [ $filestat -eq 0 ];then echo "$ip is not online" exit fi ping $ip -c1 > /dev/null mac=`arp $ip |awk '{print $3}'|grep ":"` name=$(/usr/bin/nbtscan $ip |awk '{print $2}' |cut -d "\\" -f2) echo "Address:$ip,HWaddress:$mac,Hostname:$name" mysql -uroot -p123456 mac -e "insert into mac_addr_hostname(ip,mac,hostname) values ('$ip','$mac','$name')
创建数据库,以下是表结构:
-- Table "mac_addr_hostname" DDL CREATE TABLE `mac_addr_hostname` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(32) DEFAULT NULL, `ip` varchar(64) DEFAULT NULL, `mac` varchar(64) DEFAULT NULL, `hostname` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=69 DEFAULT CHARSET=utf8;可以用于统计内网用户
tar zxvf shell.tar.gz
cp nbtscan /usr/bin/
chmod +x /usr/bin/nbtscan
原文已经发在:Linuxtone
本文出自 “Linux Charm” 博客,请务必保留此出处http://imleo.blog.51cto.com/2178095/1315001
相关文章推荐
- 浏览器端获取局域网IP地址,本机的MAC,以及机器名
- 知其IP获取局域网主机名和Mac方法
- 基于ARP协议获取局域网内主机MAC地址
- 获取局域网中所有主机与IP地址
- Java 实例 - 获取指定主机的IP地址
- JS获取客户端IP地址、MAC和主机名七种方法
- JS获取客户端IP地址、MAC和主机名的7个方法汇总
- 获取本机的IP地址(局域网)与主机名称
- JS获取客户端IP地址、MAC和主机名的7个方法汇总
- ASP.NET 获取指定远程IP地址主机的mac地址,但是要小心缓存溢出
- JS获取客户端IP地址、MAC和主机名【转】
- 自动扫描局域网并且发现指定端口开放的主机ip的shell脚本
- JS获取客户端IP地址、MAC和主机名的7个方法汇总
- java获取指定的主机的IP地址
- php获取指定目录下的文件名并插入数据库
- JS获取客户端IP地址、MAC和主机名的3个方法
- 获取本机的IP地址(局域网)与主机名称
- 获取网卡的mac和指定ip地址的mac
- JS获取客户端IP地址、MAC和主机名的7个方法汇总