ip地址扫描

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

主要的几个函数如下:

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

ip2num()
{
    ip=$1
    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*256*256*256+$b*256*256+$c*256+$d))
    echo $num
    echo "obase=10;(($num))"bc
}

2、数值转化为ip

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

3、cdr掩码转化为ip格式

cdr2mask ()
{
   # Number of args to shift, 255..255, first non-255 byte, zeroes
   set -- $(( 5 - ($1 / 8) )) 255 255 255 255 $(( (255 << (8 - ($1 % 8))) & 255 )) 0 0 0
   [ $1 -gt 1 ] && shift $1 || shift
   #echo ${1-0}.${2-0}.${3-0}.${4-0}
   mask=${1-0}.${2-0}.${3-0}.${4-0}
}

4、ip格式掩码转化为cdr

mask2cdr ()
{
   # Assumes there‘s no "255." after a non-255 byte in the mask
   local x=${1##*255.}
   set -- 0^^^128^192^224^240^248^252^254^ $(( (${#1} - ${#x})*2 )) ${x%%.*}
   x=${1%%$3*}
   echo $(( $2 + (${#x}/4) ))
}

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

net ()
{

    ip=$1
    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=$2
    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*256*256*256+n2*256*256+n3*256+n4))
#    echo $net
}

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

原文地址:https://www.cnblogs.com/wangle0529/p/8981866.html

时间: 2024-08-03 06:35:22

ip地址扫描的相关文章

局域网ip地址扫描_v1版本

局域网ip地址扫描 工作中,我们有时需要对局域网中ip地址使用情况进行统计.可以使用shell脚本进行扫. 脚本功能: 在线使用IP写入list_online.txt文件 未在线IP写入list_offline.txt文件 #!/bin/bash #2019年10月31日00:45:54 #IP address scanning v1 #sunjinhua ######################## NET_VER="$1" NET="$NET_VER" fo

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

内网的主机都是自动分配ip地址,有时候需要查看下有那些ip在使用,就写了个简单的脚本. linux和windows下都可以用,用多线程来ping1-255所有的地址,效率不高,2分钟左右. 先凑合和用吧. #-*- coding: utf-8 -*- #author: orangleliu date: 2014-11-12 #python2.7.x ip_scaner.py ''' 不同平台,实现对所在内网端的ip扫描 有时候需要知道所在局域网的有效ip,但是又不想找特定的工具来扫描. 使用方法

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

1,在安装之前需要安装yum install -y libpcap libpcap-devel如果没有安装yum工具需要用rpm安装如下软件包[[email protected] arp-scan-1.8]# yum list|grep libpcaplibpcap.i386                               14:0.9.4-15.el5             installedlibpcap.x86_64                             1

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

部署服务突然发现,连接的服务器断开了,因为服务器用户名密码是一样的,所以重新连接后,发现文件变了,跟之前不一样. 猜想是不是ip地址冲突了,两次连接的服务器不同. 网上查找资料说可以用工具扫描.工具:arp-scan. 服务器:Centos 7.X 工具:arp-scan:1.9.2 服务器上直接 使用 yum安装 提示找不到资源.官网已经将源码放在git上. 所以安装环境需要以下几个: git gcc libpcap libpcap-devel 安装完成后,使用命令下载文件 git clone

无线AP忘记IP地址怎么办?介绍一款IP扫描软件

在无线网络应用中,有时经常遇到无线AP或无线路由的IP地址忘记了,无法用浏览器进入管理界面.常用的解决办法,按复位按钮,强行恢复出厂设置.如果仅仅是忘记了IP地址,也可以通过局域网IP扫描,找出无线AP或无线路由的IP地址.    Advanced IP Scanner是一款快速.强大.易于使用的局域网IP扫描器,它可以在几秒钟之内扫描出局域网计算机的相关信息.设定要扫描的IP位置范围.启动扫描功能,检测所有网络设备,包括Wi-Fi路由器和无线设备.1. 输入所需的IP地址范围(工具栏中的"IP

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

参数: 使用方法: fping [选项] [目标...] -a显示是活着的目标 -A 显示目标地址 -b n 大量 ping 数据要发送,以字节为单位 (默认 56) -B f 将指数退避算法因子设置为 f -c n 的计数的 ping 命令发送到每个目标 (默认为 1) -C n-c,相同报告结果在冗长的格式 -D 打印前每个输出行的时间戳 -e 显示经过的时间上返回数据包 -f 文件读取列表中的目标是从一个文件 (-意味着 stdin) (仅当没有-g 指定) -g 生成目标列表 (仅当没有

IP地址的存储和使用

ip地址使用int类型存储,用INET_NTOA()和INET_ATON()转换 mysql> select inet_ntoa('2130706433'),inet_aton('127.0.0.1'); +-------------------------+------------------------+ | inet_ntoa('2130706433') | inet_aton('127.0.0.1') | +-------------------------+--------------

【Web探索之旅】第三部分第二课:IP地址和域名

内容简介 1.第三部分第二课:IP地址和域名 2.第三部分第三课预告:协议 第三部分第二课:IP地址和域名 上一课我们说了在Web之中,全球各地有无数台机器,有些充当客户机,有些作为服务器. 那么这些机器如何找到和辨认彼此呢?难道不会"只是因为在人群中多看了你一眼,再也没能想起你容颜"吗? 如果我用我的浏览器上网,我怎么知道哪个服务器向我发送此网站呢? 为了解决这个难题,IT科学家们使用了一个叫做IP地址的东西(东西好像有点太难听了,IP它根本就不是个东西好嘛). IP是Interne

linux系统使用arp-scan检查是否存在IP地址冲突

如果前期没有做好IP地址规划,即使有IP地址统一不小心也会犯错!推荐服务器IP地址使用要登记明细,上次机房批量部署服务器,就将已再用的IP又分配给另一台服务器,还好对业务没有造成大的影响. 那么在给服务器配置IP的时候,怎么确保IP地址没有被使用,或者出现异常时有什么方法检测那?今天看到一个工具. arp-scan ,该工具在局域网内发送ARP数据包,来收集IP和MAC地址信息.如果一个IP地址对应多个MAC地址,就说明IP冲突了. 安装部署方法如下: 安装方法有两种: 首先安装软件依赖包 yu