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 ...
随机推荐
- TraceView性能分析工具介绍
一.TraceView简介 TraceView是AndroidSDK里面自带的工具,用于对Android的应用程序以及Framework层的代码进行性能分析. TraceView是图形化的工具,最终它 ...
- 1086. Tree Traversals Again (25)
题目如下: An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For e ...
- UNIX网络编程——带外数据
许多传输层有带外数据的概念,它有时也称为经加速数据.其想法是一个连接的某端发生了重要的事情,而且该端希望迅速通告其对端.这里"迅速"意味着这种通知应该在已排队等待发送的任何&quo ...
- tomcat请求路由映射核心组件Mapper
Mapper组件的核心功能是提供请求路径的路由映射,根据某个请求路径通过计算得到相应的Servlet(Wrapper).这节看下Mapper的实现细节,包括Host容器.Context容器.Wrapp ...
- UNIX环境高级编程——线程属性之并发度
并发度控制着用户级线程可以映射的内核线程或进程的数目.如果操作系统的实现在内核级的线程和用户级的线程之间保持一对一的映射,那么改变并发度并不会有什么效果,因为所有的用户级线程都可能被调度到.但是,如果 ...
- java linux ImageIO 验证码在一段时间以后出不来 问题总结
最近在测试上布署的项目经常性的出现验证码过了一段时间以后出不来的情况,耐心找了一下,最后在上级的指导下发现了报错,其实说真的,我自己也找到了这个报错,只是没有当一回事.因为这个验证码的东西不是我写的, ...
- JSTL之forEach的使用详解(简单的技术说得很详细)
在使用JSTL的核心标签库forEach之前,首先需要在JSP中通过taglib指令引入核心标签库: <%@ taglib uri="http://java.sun.com/jsp/j ...
- J2EE学习从菜鸟变大鸟之五 JDBC(Java Data Base Connectivity)
JDBC刚开始学习这个的时候看到了,以为是ODBC呢,很是相似啊,总的来说还是基本上一类的东东,但是还有一些细微的区别,下面和大家一起分享学习. JDBC(Java Data Base Connect ...
- Linux信号实践(3) --信号内核表示
信号在内核中的表示 执行信号的处理动作称为信号递达(Delivery),信号从产生到递达之间的状态,称为信号未决(Pending).进程可以选择阻塞(Block)某个信号.被阻塞的信号产生时将保持在未 ...
- OJ题:句子逆转
将一个英文语句以单词为单位逆序排放.例如"I am a boy",逆序排放后为"boy a am I"所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含 ...