shell ip及端口扫描脚本

2024-01-20 16:18
文章标签 ip shell 脚本 端口扫描

本文主要是介绍shell ip及端口扫描脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

看了个kali教程视频,里面涉及一点自写脚本的内容


下面是ip地址扫描,判断主机是否在线的shell

#!/bin/bash
echo 'inputip:' #提示输入要扫描的ip地址
read inputip    #获取终端输入给变量inputip
tip=$inputip    #将获取到的inputip 给变量 tip 这里是多余的赋值 只是不想修改下面的代码而已
echo -n  '1: '  #输出行号  
#使用ping方法查看 注意等好后面的是 反单引号 结尾处也是 反单引号
res=`ping $tip -c 1 | grep ttl | awk '{print $4}' | awk -F: '{print $1}'` 
#判断 
if [ $res > 0 ]
thenecho "$tip.$n on"
elseecho "$tip.$n off"
echo ''
fi


 

如果希望测试多个IP,可以将输入,改为读取文件,在文件中写入要测试的ip(每行1条)

然后用for循环测试

#!/bin/bash
#提前创建ip.txt 将要测试的ip写入All_tip=`cat ip.txt`
for tip in $All_tip
dores=`ping $tip -c 1 | grep ttl | awk '{print $4}' | awk -F: '{print $1}'` 
#判断 if [ $res > 0 ]thenecho "$tip.$n on"elseecho "$tip.$n off"echo ''fi
done

一种特殊的if

#if [ $? -eq 0 ] ### $? 是获取上一行的执行结果或者返回值 -eq 0 代表成功  1代表失败 

扩展一:扫描整个C段 192.168.1.*

#!/bin/bash
echo '请输入ip C段地址,如 192.168.1'
echo 'inputip:'
read inputip
tip=$inputip
for n in `seq 254`
doecho -n $n ': 'res=`ping $tip.$n -c 1 | grep ttl | awk '{print $4}' | awk '{print $1}'`#ping $tip.$n -c 1 | grep ttl | awk '{print $4}' | awk -F: '{print $1}'if [ $res > 0 ]#if [ $? -eq 0 ]thenecho "$tip.$n on"elseecho "$tip.$n off"fi
#	echo ''
done


 

扩展二:扫描ip端口

#!/bin/bash
A=`cat ip1`
for B in $A
don=`echo $B | wc -L`if [ $n -gt 6 ]thenip=$Becho "scan $ip"echo "Nmap scan report for $ip" >>r1elseport=$Bnmap -p$port -sV $ip | grep -v Starting | grep -v report | grep -v Host | grep -v PORT | grep -v Service | grep -v 'done' >>r1#echo `nmap -p$port -sV $ip` fi
done

ip1内容

192.168.16.24
22
80
443
3306

192.168.1.26
22
80
443
3306

 

扫描结果

 

 

这篇关于shell ip及端口扫描脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/626587

相关文章

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

shell中set -u、set -x、set -e的使用

《shell中set-u、set-x、set-e的使用》本文主要介绍了shell中set-u、set-x、set-e的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录✅ 1. set -u:防止使用未定义变量 作用: 示例:❌ 报错示例输出:✅ 推荐使用场景:✅ 2. se

Spring Boot 实现 IP 限流的原理、实践与利弊解析

《SpringBoot实现IP限流的原理、实践与利弊解析》在SpringBoot中实现IP限流是一种简单而有效的方式来保障系统的稳定性和可用性,本文给大家介绍SpringBoot实现IP限... 目录一、引言二、IP 限流原理2.1 令牌桶算法2.2 漏桶算法三、使用场景3.1 防止恶意攻击3.2 控制资源

Linux脚本(shell)的使用方式

《Linux脚本(shell)的使用方式》:本文主要介绍Linux脚本(shell)的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录概述语法详解数学运算表达式Shell变量变量分类环境变量Shell内部变量自定义变量:定义、赋值自定义变量:引用、修改、删

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)

《Golang实现Redis分布式锁(Lua脚本+可重入+自动续期)》本文主要介绍了Golang分布式锁实现,采用Redis+Lua脚本确保原子性,持可重入和自动续期,用于防止超卖及重复下单,具有一定... 目录1 概念应用场景分布式锁必备特性2 思路分析宕机与过期防止误删keyLua保证原子性可重入锁自动

Linux实现简易版Shell的代码详解

《Linux实现简易版Shell的代码详解》本篇文章,我们将一起踏上一段有趣的旅程,仿照CentOS–Bash的工作流程,实现一个功能虽然简单,但足以让你深刻理解Shell工作原理的迷你Sh... 目录一、程序流程分析二、代码实现1. 打印命令行提示符2. 获取用户输入的命令行3. 命令行解析4. 执行命令

Java根据IP地址实现归属地获取

《Java根据IP地址实现归属地获取》Ip2region是一个离线IP地址定位库和IP定位数据管理框架,这篇文章主要为大家详细介绍了Java如何使用Ip2region实现根据IP地址获取归属地,感兴趣... 目录一、使用Ip2region离线获取1、Ip2region简介2、导包3、下编程载xdb文件4、J

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

使用Python实现IP地址和端口状态检测与监控

《使用Python实现IP地址和端口状态检测与监控》在网络运维和服务器管理中,IP地址和端口的可用性监控是保障业务连续性的基础需求,本文将带你用Python从零打造一个高可用IP监控系统,感兴趣的小伙... 目录概述:为什么需要IP监控系统使用步骤说明1. 环境准备2. 系统部署3. 核心功能配置系统效果展