栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

ping扫描c段主机shell脚本(超快)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ping扫描c段主机shell脚本(超快)

  • shell脚本
  • 代码
  • 原理
  • 代码解释
  • 运行


shell脚本

Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。

代码

#!/bin/bash

if [ "$1" == "" ]
then
	echo "You forgot an IP address!"
	echo "Syntax: ./ipsweep.sh 192.168.1"
else
	for ip in `seq 1 254`; do
		ping -c 1 $1.$ip | grep "64 bytes" | cut -d " " -f 4 | tr -d ":" &
	done
fi

原理

就是发送ping请求包,看对方是否回包,来判断对方的存活,此方法有可能会漏报(开了防火墙)

代码解释
  • $0,$1,$2
    $0 就是你写的shell脚本本身的名字,$1 是你给你写的shell脚本传的第一个参数,$2 是你给你写的shell脚本传的第二个参数
    参数为空时,打印语法提示
  • `seq 1 254`
    1-254的数组
  • ping -c 1 ip
    对指定ip ping一次
    目标主机没回包,输出像这样

    目标主机回包
  • grep “64 bytes”
    查找64 bytes字符串,成功回包能匹配上,不回包则什么都没有
  • cut -d " " -f 4
    以空格为分隔符,分开查找到的字符串,并选择第4个元素
  • tr -d “:”
    清除所有:(冒号)
  • &
    表示后台执行ping命令,也就是说控制台是看不到ping的过程

此程序只是打印扫描出来的ip地址到控制台显示
如果要写入文件,可以使用 > 重定向到一个文件

  • 这段代码等于254个进程并发运行了,如果扫描b段主机,并发进程数会更多,到时候要修改代码
运行

不输入参数,进行语法提示

输入参数,扫描192.168.175.0网段的主机,扫出三台

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676139.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号