扫描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
 

相关推荐

  1. Nmap端口扫描工具

    2024-04-10 05:58:05       27 阅读
  2. 如何扫描网址ip特定端口扫描全部网段

    2024-04-10 05:58:05       52 阅读
  3. nmap端口扫描工具——LInux

    2024-04-10 05:58:05       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-10 05:58:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-10 05:58:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-10 05:58:05       87 阅读
  4. Python语言-面向对象

    2024-04-10 05:58:05       96 阅读

热门阅读

  1. Android 14 vold 分析(1)启动

    2024-04-10 05:58:05       24 阅读
  2. Android 14 vold 分析(2)VolumeManager 和 NetlinkManger

    2024-04-10 05:58:05       27 阅读
  3. MyBatis事务管理

    2024-04-10 05:58:05       32 阅读
  4. 手写一个民用Tomcat (03)

    2024-04-10 05:58:05       31 阅读
  5. Android 14 vold 分析(3)vold和mount service通信

    2024-04-10 05:58:05       29 阅读
  6. 小程序中展示富文本 图片不适配?视频不显示?

    2024-04-10 05:58:05       44 阅读
  7. CentOS 7关机与重启命令详解

    2024-04-10 05:58:05       46 阅读