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 ...
随机推荐
- EBS HRMS数据表
4.1. 人员基本息 表 (PER_ALL_PEOPLE_F) ...
- SSH网上商城---需求分析+表关系分析
SSH---小编初次接触的时候傻傻的以为这个跟SHE有什么关系呢?又是哪路明星歌手,后来才知道小编又土鳖了,原来SSH是这个样子滴,百度百科对她这样阐述,SSH即 Spring + Struts +H ...
- 【一天一道LeetCode】#257. Binary Tree Paths
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given a ...
- HTML5中 HTML列表/块/布局 韩俊强的博客
从简单到复杂HTML5详解:每日更新关注:http://weibo.com/hanjunqiang 新浪微博! 1.HTML列表 1.有序 2.无序 3.有序star属性 4.有序无序列表 代码: ...
- Java进阶(三十二) HttpClient使用详解
Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们 ...
- UNIX环境高级编程——创建与打开IPC通道
创建或打开一个IPC对象的三个getXXX函数的第一个参数key是类型为key_t的IPC键,返回值identifier是一个整数标识符.该标识符不同于ftok函数的id参数.对于key值,应用程序有 ...
- react-native版本升级
时刻将React Native更新到最新的版本,可以获得更多API.视图.开发者工具以及其他一些好东西(译注:官方开发任务繁重,人手紧缺,几乎不会对旧版本提供维护支持,所以即便更新可能带来一些兼容上的 ...
- byte和长度为8的boolean数组互相转换
由于byte是一个8位字节 所以可以用它来存放数组为8的boolean数组,这些在通信协议会经常用到.这里给出一个java代码对其互相转换的. package com.udpdemo.test2; i ...
- Android开发技巧——TextView加载HTML的图片及代码显示问题
前几天在做一个Gradle用户指南的应用程序,使用的是TextView来加载HTML内容(至于为什么不用WebView,我也没有认真使用并比较过,也许以后会换吧),其中遇见了一些纠结的问题,所幸主要的 ...
- 《java入门第一季》之面向对象(形式参数和返回值问题的深入研究3)
/* 形式参数: 引用类型 接口:需要的是该接口的实现类对象 这个时候就没什么了,和抽象类的解释差不多. */ interface Love { public abstract ...