自己写的一个ip地址扫描的shell脚本,功能是输入ip地址和掩码,通过ping检测整个网段的ip地址,输出ping的结果。

主要的几个函数如下:

1、ip地址转化为数值,方便计算

ip2num()
{
ip=$
a=`echo $ip |awk -F '.' '{print $1}'`
b=`echo $ip |awk -F '.' '{print $2}'`
c=`echo $ip |awk -F '.' '{print $3}'`
d=`echo $ip |awk -F '.' '{print $4}'`
num=$(($a***+$b**+$c*+$d))
echo $num
echo "obase=10;(($num))"bc
}

2、数值转化为ip

num2ip()
{
num=$
a=$(($num/(**)))
#echo $a
b=$(($num/(*)-$a*))
#echo $b
c=$(($num/-$a**-$b*))
#echo $c
d=$(($num-$a***-$b**-$c*))
#echo $d
echo $a.$b.$c.$d >>ip.dat
iptmp=$a.$b.$c.$d
}

3、cdr掩码转化为ip格式

cdr2mask ()
{
# Number of args to shift, .., first non- byte, zeroes
set -- $(( - ($ / ) )) $(( ( << ( - ($ % ))) & ))
[ $ -gt ] && shift $ || shift
#echo ${-}.${-}.${-}.${-}
mask=${-}.${-}.${-}.${-}
}

4、ip格式掩码转化为cdr

mask2cdr ()
{
# Assumes there's no "255." after a non-255 byte in the mask
local x=${##*.}
set -- ^^^^^^^^^^ $(( (${#} - ${#x})* )) ${x%%.*}
x=${%%$*}
echo $(( $ + (${#x}/) ))
}

5、由ip地址和掩码计算网络地址

net ()
{ ip=$
a=`echo $ip |awk -F '.' '{print $1}'`
b=`echo $ip |awk -F '.' '{print $2}'`
c=`echo $ip |awk -F '.' '{print $3}'`
d=`echo $ip |awk -F '.' '{print $4}'` mask=$
m=`echo $mask |awk -F '.' '{print $1}'`
n=`echo $mask |awk -F '.' '{print $2}'`
o=`echo $mask |awk -F '.' '{print $3}'`
p=`echo $mask |awk -F '.' '{print $4}'` n1=$(($a&$m))
n2=$(($b&$n))
n3=$(($c&$o))
n4=$(($d&$p)) net=$((n1***+n2**+n3*+n4))
# echo $net
}

3、4两个函数直接用的网上大神的,写的很简洁,对比自己写的,感觉自己low爆了,哈哈

ip地址扫描的更多相关文章

  1. 局域网ip地址扫描_v1版本

    局域网ip地址扫描 工作中,我们有时需要对局域网中ip地址使用情况进行统计.可以使用shell脚本进行扫. 脚本功能: 在线使用IP写入list_online.txt文件 未在线IP写入list_of ...

  2. 用arp-scan扫描局域网IP地址

    1,在安装之前需要安装yum install -y libpcap libpcap-devel如果没有安装yum工具需要用rpm安装如下软件包[root@oradba arp-scan-1.8]# y ...

  3. 指定端口号,多线程扫描局域网内IP地址

    小白第一次发博客,请各路大神不要喷,有错的地方还请不吝啬指教,谢谢....... 因为注释基本上已经说清楚啦,在这里就不多说什么啦,知识不够怕误人子弟 # -*- coding:utf-8 -*-im ...

  4. [PythonCode]扫描局域网的alive ip地址

    内网的主机都是自己主动分配ip地址,有时候须要查看下有那些ip在使用,就写了个简单的脚本. linux和windows下都能够用,用多线程来ping1-255全部的地址,效率不高.2分钟左右. 先凑合 ...

  5. nmap,port扫描,获取sshserver的ip地址

    // 查看局域网的ip地址 arp - a // 同一个网段.假设用虚拟机桥接则不行 sudo nmap -sS 192.168.1.* //或者sudo nmap -sS -p 22 192.168 ...

  6. Linux下扫描服务器IP地址是否冲突(arp-scan)

    部署服务突然发现,连接的服务器断开了,因为服务器用户名密码是一样的,所以重新连接后,发现文件变了,跟之前不一样. 猜想是不是ip地址冲突了,两次连接的服务器不同. 网上查找资料说可以用工具扫描.工具: ...

  7. ★Kali信息收集~★7.FPing :ip段扫描

    参数: 使用方法: fping [选项] [目标...] -a显示是活着的目标 -A 显示目标地址 -b n 大量 ping 数据要发送,以字节为单位 (默认 56) -B f 将指数退避算法因子设置 ...

  8. 使用nmap工具查询局域网某个网段正在使用的ip地址

    linux下nmap工具可扫描局域网正在使用的ip地址 查询局域网某网段正在使用的ip地址: nmap -sP .* 以上命令,将打印10.10.70.*/24网络所有正在使用的ip地址

  9. 查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法

    首先,CDN.负载均衡.反向代理还分为很多层,有时查出来的是最外层的 CDN 服务器群,真实的机器是不对外开放的,类似这样的: 用户 → CDN 网络 → 一台或多台真实机器 ↗ CDN Server ...

随机推荐

  1. Dynamics Crm 2011 Or 2013 IFD 部署一段时间后,CA验证问题

    以下错误描述摘自博客:http://blog.csdn.net/qzw4549689/article/details/14451257 IFD部署一段时间后,大概一年,突然出现从IFD登录页面登录后, ...

  2. Fork And Join框架初探

    首先,关于Fork And Join框架的入门资料我觉得最好的是: Java线程(十一):Fork/Join-Java并行计算框架 本文参考了这篇文章 Fork/Join框架的核心类是ForkJoin ...

  3. Android的ImageSwitcher和TextSw-android学习之旅(三十四)

    ImageSwitcher简介 ImageSwitcher继承了ViewSwitcher,所以在切换时候会有动画,可以把它理解成一个动画版本的ImageView. 他的showNext(),和show ...

  4. iOS开发之六:常用控件--UIImageView的使用

    UIImageView是我们做iOS开发用的非常多的一个控件,IOS中的各种图片,包括头像,有的背景图片等基本都要用到这个控件. 1.常用的属性以及方法 <span style="fo ...

  5. Android下资源使用的方式-android学习之旅(五十三)

    访问资源分为在java和xml中访问

  6. 版本控制—使用Gradle自动管理应用程序版本

    我们在开发App时,通常在项目的Release阶段我们需要设置应用的版本号和版本名称,也就是设置下面两个属性 versionCode versionName 版本号 其中versionCode的值是i ...

  7. 《java入门第一季》之有趣的集合小案例---获取10个【1-20之间】的随机数,要求不能重复。

    import java.util.ArrayList; import java.util.Random; /* * 获取10个[1-20之间]的随机数,要求不能重复.(注意:不是获取10个数,如果单纯 ...

  8. Ext JS 6正式版的GPL版本下载地址

    下面是Ext JS 6正式版的GPL版本下载地址 https://www.sencha.com/legal/gpl/

  9. 谈谈Ext JS的组件——布局的使用方法续二

    绝对布局(Ext.layout.container.Absolute) 绝对布局让我回想到了使用Foxpro开发的时候,哪时候的界面布局就是这样,通过设置控件的左上角坐标(x,y)和宽度来进行的,因为 ...

  10. OC语言大总结(下)

    根据OC学习的知识点,总结了一下,希望能帮到大家! 作者:韩俊强   未经允许,请勿转载! 关注博主:http://weibo.com/hanjunqiang 上接:http://blog.sina. ...