扫描IP开放端口该脚本用于对特定目标主机进行常见端口扫描(加载端口字典)或者指定端口扫描,判断目标主机开

扫描IP开放端口该脚本用于对特定目标主机进行常见端口扫描(加载端口字典)或者指定端口扫描,判断目标主机开

#/bin/bash
#该脚本用于对特定目标主机进行常见端口扫描(加载端口字典)或者指定端口扫描,判断目标主机开放来哪些端口
#用telnet方式
IP=$1
#IP=119.254.3.28
#获得IP的前三位
threeIP=$(echo $IP |awk -F. '{print $1"."$2"."$3"."}') 
#获得IP的第四位
endIP=$(echo $IP | awk -F. '{print $4}')
if [ $1 ]
then
  if [ $2 ]
    then
    #IP的第四位为0表明是一个网段,对整个网段进行特定端口的扫描,发现哪个主机开放特定端口
    if [ $endIP -eq 0 ]
    then
      for ((i=128;i<=140;i++))
      do
        (sleep 1;)|telnet $threeIP$i $2 2>&1 |grep "Connected to $threeIP$i">/dev/null 
        if [ $? -eq 0 ]
        then
          echo "主机$threeIP$i开放$2端口!"
        else
          echo "主机$threeIP$i的$2端口关闭!"         
        fi
      done
    else
      #IP的第四位不为0,说明是单个IP,对单个IP进行特定端口扫描
      (sleep 1;)|telnet $1 $2 2>&1 |grep "Connected to $1">/dev/null
       if [ $? -eq 0 ]
       then
         echo "主机$1开放$2端口!"
       else
         echo "主机$1的$2端口关闭!"      
       fi
    fi  
  else
      #脚本只有一个IP参数,根据IP的第四位是否为0来判断是否为网段,因为没有端口参数,扫描默认端口
    if [ $endIP -eq 0 ]
    then
      for ((i=128;i<=130;i++))
      do
        for port in $(cat defaultport.txt)
        do
          (sleep 1;)|telnet $threeIP$i $port 2>&1 |grep "Connected to $threeIP$i">/dev/null
          if [ $? -eq 0 ]
          then
            echo "主机$threeIP$i开放$port端口!" > /home/peter/Ip.txt
          else
            echo "主机$threeIP$i的$port端口关闭!"          
          fi
        done
      done
    else
      #脚本只有IP一个参数,没有端口参数,加载端口字典扫描默认端口
      for ((i=1;i<=1024;i++))
      do
        #与目标主机的特定端口只通信1秒,根据返回的数据来判断目标是否开放特定端口
        (sleep 1;)|telnet $1 $i 2>&1 |grep "Connected to $1">/dev/null
        if [ $? -eq 0 ]
        then
          echo "主机$1开放$i端口!"  >> /home/peter/Ip.txt
        else
          echo "主机$1的$i端口关闭!"        
        fi
      done
    fi
  fi       
else
  echo "******************************************* 
  该脚本的用法示例:  
  $0 192.168.1.1(扫描默认端口)
  $0 192.168.1.1 portx(扫描指定IP指定端口portx)
  $0 192.168.1.0(扫描指定网段,扫描默认端口)
  $0 192.168.1.0 portx(扫描指定网段指定端口portx) 
******************************************** "  
fi
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/803096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BUUCTF刷题十一道(12)SSTI专题一

文章目录 学习文章[Flask]SSTI[GWCTF 2019]你的名字[第三章 web进阶]SSTI[pasecactf_2019]flask_ssti[NewStarCTF 公开赛赛道]BabySSTI_One[Dest0g3 520迎新赛]EasySSTI[NewStarCTF 公开赛赛道]BabySSTI_Two[NewStarCTF 公开赛赛道]BabySSTI_Three[GYCTF2020]FlaskApp[CSCCTF 2…

网易云歌曲评论抓取

网易云歌曲评论爬取 步骤1.找到一首歌曲2.按下F12键打开开发者模式,对其进行抓包3.查找获得评论数据的接口4.对获得评论数据接口进行分析5.构建加密函数方法一方法二运行结果全部代码使用Js文件只使用python新的代码小结与展望这次的任务是获取网易云音乐下面的评论,涉及的知…

List接口(1) | ArrayList

参考阅读&#xff1a;ArrayList 源码分析 一、特点 ArrayList 继承于 AbstractList &#xff0c;实现了 List, RandomAccess, Cloneable, java.io.Serializable 这些接口&#xff0c;具有以下特点&#xff1a; 支持添加&#xff0c;删除和查找操作支持随机快速访问&#xff…

前端ocr技术:electron+vue3中使用tesseract插件识别图片中字符

同学们可以私信我加入学习群&#xff01; 正文开始 前言一、electron各种csp问题二、试用插件总结 前言 项目需要ocr技术识别图片中的中文字符&#xff0c;本来这部分是后端的工作&#xff0c;但是因为各种原因&#xff0c;决定前端也做一个版本。 在ai时代之前&#xff0c;o…

基于spring boot的漫画之家系统

基于spring boot的漫画之家系统设计与实现 开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&…

pta L1-012 计算指数

L1-012 计算指数 分数 5 全屏浏览 切换布局 作者 陈越 单位 浙江大学 真的没骗你&#xff0c;这道才是简单题 —— 对任意给定的不超过 10 的正整数 n&#xff0c;要求你输出 2n。不难吧&#xff1f; 输入格式&#xff1a; 输入在一行中给出一个不超过 10 的正整数 n。 …

Java排序算法

冒泡排序 相邻两个元素比较&#xff0c;每次排序获得一个当前排序区间的最大值 // 冒泡排序 // 外层循环每次最后一个元素已经是最大的了&#xff0c;所以每次循环都减少一个元素 for (int i arr.length - 1; i >0; i--) {// 内层循环每次都是从第一个元素开始&#xff0c;…

鲁棒线性模型估计(Robust linear model estimation)

鲁棒线性模型估计 1.RANSAC算法1.1 算法的基本原理1.2 迭代次数N的计算1.3 参考代码 参考文献 当数据中出现较多异常点时&#xff0c;常用的线性回归OLS会因为这些异常点的存在无法正确估计线性模型的参数&#xff1a; W ( X T X ) − 1 X T Y \qquad \qquad W(X^TX)^{-1}X^T…

力扣热题100_链表_19_删除链表的倒数第 N 个结点

文章目录 题目链接解题思路解题代码 题目链接 19. 删除链表的倒数第 N 个结点 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5], n 2 输出&#xff1a;[1,2,3,5] 示例 2&am…

数据结构—图

图的基本概念 图就是由顶点的有穷非空集合和顶点之间的边组成的集合。通常表示为&#xff1a;G(V,E)&#xff0c;其中&#xff0c;G 表示一个图&#xff0c;V 表示顶点的集合&#xff0c;E 表示边的集合。 顶点 图中的数据元素&#xff0c;我们称之为顶点&#xff0c;图至少有…

2024年3月电子学会青少年软件编程 中小学生Python编程等级考试一级真题解析(判断题)

2024年3月Python编程等级考试一级真题解析 判断题&#xff08;共10题&#xff0c;每题2分&#xff0c;共20分&#xff09; 26、turtle 画布的坐标系原点是在画布的左上角 答案&#xff1a;错 考点分析&#xff1a;考查turtle相关知识&#xff0c;turtle画布坐标系是在画布的…

KNN分类算法的MATLAB实现以及可视化

一、KNN简介 KNN算法&#xff0c;即K-Nearest Neighbors&#xff0c;是一种常用的监督学习算法&#xff0c;可以用于分类问题&#xff0c;并且在实际应用中取得了广泛的成功。 二、KNN算法的基本原理 对于给定的测试样本&#xff0c;KNN算法首先计算它与训练集中所有样本的距…

服务器硬件基础知识解析

导言 在当今信息化时代&#xff0c;服务器扮演着至关重要的角色&#xff0c;它们是存储、处理和传输数据的关键设备。本文将介绍服务器硬件的基础知识&#xff0c;包括服务器的组成部分、硬件选型和性能评估等内容&#xff0c;旨在帮助读者更好地理解和应用服务器技术。 服务…

【数据库】规划与分析

目录 1.规划与分析 的步骤&#xff08;3步&#xff09;&#xff1f; 2.系统规划与定义 的步骤&#xff08;4步&#xff09;&#xff1f; 3.可行性分析 的步骤&#xff08;4步&#xff09;&#xff1f;&#xff08;-表示包括 、和/表示并列&#xff09; 4.项目规划 的步…

Vue - 你知道Vue2中对象动态新增属性,视图无法更新的原因吗

难度级别:中高级及以上 提问概率:55% 这道题面试官会这样描述,比如有这样一个场景,一个对象里有name属性,可以正常显示在页面中。但后续动态添加了一个age属性,通过调试打印发现对象里的age属性已经添加了上了,但试图中却没有展示出来,…

Axure案例分享—垂直手风琴(附下载地址)

今天分享的案例是Axure8(兼容9和10)制作的垂直手风琴 一、功能介绍 折叠或展开多个面板内容&#xff0c;默认为展开一项内容&#xff0c;点击任一收起的选项&#xff0c;展开面板&#xff0c;其他面板收起二、制作过程 原型是由矩形组件以及动态面板构成&#xff0c; 拖入一…

Collection与数据结构 二叉树(一):二叉树的性质与基本操作

1. 树形结构 1.1 概念1 (了解) 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。它具有以下的特点&#…

C语言单链表

1. 单链表的概念和结构 概念&#xff1a;链表是一种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 链表与顺序表都属于线性表&#xff0c;顺序表在物理存储结构上是线性的&#xff0c;但是链表在物理存储结构上…

基于springboot+vue+Mysql的学习平台

开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…

Centos 下载地址

下载镜像地址&#xff1a; 1、官网地址&#xff1a;The CentOS Project 2、阿里镜像站&#xff1a;centos安装包下载_开源镜像站-阿里云 3、清华镜像源&#xff1a;Index of /centos/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 3.、CentOS搜狐镜像&#xff1…