Chinaunix首页 | 论坛 | 博客
  • 博客访问: 914389
  • 博文数量: 119
  • 博客积分: 2493
  • 博客等级: 大尉
  • 技术积分: 2363
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-03 14:00
文章分类

全部博文(119)

文章存档

2013年(19)

2012年(100)

分类: LINUX

2012-09-01 19:39:06

       该脚本主要用来检测局域网内用了哪些IP地址以及对应的Mac地址。
并没有多大的实际用途,主要用来练练手,熟悉脚本语法。linux下可以
使用nmap工具扫描局域网内的IP地址。功能很强大。

----------------------------------------------------------------------------------------------
一,脚本
  1. #!/bin/bash
  2. #Program:
  3. #    ip scanner
  4. #Author:
  5. #    wangzhe<wangzhe5004@gmail.com>
  6. #Time:
  7. #    2012-9-1
  8. #eaxmple:sh scanner.sh 192.168.1.101

  9. network=$(echo $1 | cut -d. -f1-3)

  10. for i in $(seq 1 254)
  11. do
  12.     ping -c 1 -w 1 $network.$i > /dev/null
  13.     if [ $? -eq 0 ]; then
  14.            arp $network.$i | grep ":" | awk '{print $1,$3}'     
  15.           echo "host $network.$i is up"
  16.     else
  17.         echo "host $network.$i is down"
  18. fi
  19. done
1.0,cut命令对字符串进行解析。
1.1,seq命令顺序列出1-254
1.2,ping命令检测该IP是否使用,用执行的结果$?来判断是否执行成功。
1.3,arp在arp Cache中找到IP对应的Mac地址。
1.4,grep抓出带有“:”的那一行。
1.5,awk打印指定的列。

----------------------------------------------------------------------------------
二,脚本基础语法回顾。
2.0,脚本的编码风格是怎么样的,哪些地方要写注释说明?
2.1,脚本是如何传入参数的?使用默认变量$0,$1,$2...
2.2,脚本中的循环控制是怎么写的?
2.3,脚本中的分支控制是怎么写的?
2.4,脚本中的比较是怎么实现的,字符串的比较,整数的比较又是怎样的?
2.5,sed和awk的语法又该怎么使用?
2.6,脚本中常用的命令都有哪些?

----------------------------------------------------------------------------------

阅读(2310) | 评论(0) | 转发(1) |
0

上一篇:ARP

下一篇:TCP建立链接的三次握手

给主人留下些什么吧!~~