ip地址扫描
自己写的一个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地址扫描的更多相关文章
- 局域网ip地址扫描_v1版本
局域网ip地址扫描 工作中,我们有时需要对局域网中ip地址使用情况进行统计.可以使用shell脚本进行扫. 脚本功能: 在线使用IP写入list_online.txt文件 未在线IP写入list_of ...
- 用arp-scan扫描局域网IP地址
1,在安装之前需要安装yum install -y libpcap libpcap-devel如果没有安装yum工具需要用rpm安装如下软件包[root@oradba arp-scan-1.8]# y ...
- 指定端口号,多线程扫描局域网内IP地址
小白第一次发博客,请各路大神不要喷,有错的地方还请不吝啬指教,谢谢....... 因为注释基本上已经说清楚啦,在这里就不多说什么啦,知识不够怕误人子弟 # -*- coding:utf-8 -*-im ...
- [PythonCode]扫描局域网的alive ip地址
内网的主机都是自己主动分配ip地址,有时候须要查看下有那些ip在使用,就写了个简单的脚本. linux和windows下都能够用,用多线程来ping1-255全部的地址,效率不高.2分钟左右. 先凑合 ...
- nmap,port扫描,获取sshserver的ip地址
// 查看局域网的ip地址 arp - a // 同一个网段.假设用虚拟机桥接则不行 sudo nmap -sS 192.168.1.* //或者sudo nmap -sS -p 22 192.168 ...
- Linux下扫描服务器IP地址是否冲突(arp-scan)
部署服务突然发现,连接的服务器断开了,因为服务器用户名密码是一样的,所以重新连接后,发现文件变了,跟之前不一样. 猜想是不是ip地址冲突了,两次连接的服务器不同. 网上查找资料说可以用工具扫描.工具: ...
- ★Kali信息收集~★7.FPing :ip段扫描
参数: 使用方法: fping [选项] [目标...] -a显示是活着的目标 -A 显示目标地址 -b n 大量 ping 数据要发送,以字节为单位 (默认 56) -B f 将指数退避算法因子设置 ...
- 使用nmap工具查询局域网某个网段正在使用的ip地址
linux下nmap工具可扫描局域网正在使用的ip地址 查询局域网某网段正在使用的ip地址: nmap -sP .* 以上命令,将打印10.10.70.*/24网络所有正在使用的ip地址
- 查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法
首先,CDN.负载均衡.反向代理还分为很多层,有时查出来的是最外层的 CDN 服务器群,真实的机器是不对外开放的,类似这样的: 用户 → CDN 网络 → 一台或多台真实机器 ↗ CDN Server ...
随机推荐
- 【Android应用开发】Android Studio - MAC 版 - 快捷键详解
博客地址 : http://blog.csdn.net/shulianghan/article/details/47321177 作者 : 韩曙亮 要点总结 : -- 熟练使用快捷键 : 在任何编程环 ...
- 【一天一道LeetCode】#217. Contains Duplicate
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- synchronized和volatile比较
synchronized和volatile比较 volatile不需要加锁,比synchronized更轻量级,不会阻塞线程 从内存可见性角度讲,volatile读相当于加锁,volatile写相当于 ...
- 并发编程(三): 使用C++11实现无锁stack(lock-free stack)
前几篇文章,我们讨论了如何使用mutex保护数据及使用使用condition variable在多线程中进行同步.然而,使用mutex将会导致一下问题: 等待互斥锁会消耗宝贵的时间 - 有时候是很多时 ...
- JAVA之旅(二十二)——Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习
JAVA之旅(二十二)--Map概述,子类对象特点,共性方法,keySet,entrySet,Map小练习 继续坚持下去吧,各位骚年们! 事实上,我们的数据结构,只剩下这个Map的知识点了,平时开发中 ...
- ios第三方数据请求 UI_15
AppDelegate.m //指定根视图 self.window.rootViewController = [[[UINavigationController alloc]initWithRootV ...
- C++ Primer 有感(多重继承与虚继承)
1.多重继承的构造次序:基类构造函数按照基类构造函数在类派生列表中的出现次序调用,构造函数调用次序既不受构造函数初始化列表中出现的基类的影响,也不受基类在构造函数初始化列表中的出现次序的影响.2.在单 ...
- 高性能C++网络库libtnet实现:IOLoop
IOLoop libtnet采用的是prefork + event loop的架构方式,prefork就是server在启动的时候预先fork多个子进程同时工作,而event loop则是基于epol ...
- 海量数据挖掘MMDS week1: Link Analysis - PageRank
http://blog.csdn.net/pipisorry/article/details/48579435 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...
- 【一天一道LeetCode】#47. Permutations II
一天一道LeetCode系列 (一)题目 Given a collection of numbers that might contain duplicates, return all possibl ...