扫描网络端口

这篇具有很好参考价值的文章主要介绍了扫描网络端口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验目的

     本次实验通过在理解扫描器原理的基础上,利用Java开发环境来编程实现一款简易的扫描器,熟悉主机及端口扫描工具。

二、实验内容

      编写程序扫描网络端口,查看状态--关闭或者开启,同时要设置端口关闭或者开启功能,并且能够扫描到开启或者关闭的端口。

三、实验原理

1.端口介绍

      在Internet上,按照协议类型分类,端口被分为TCP端口和UDP端口两类,虽然他们都用正整数标识,但这并不会引起歧义,比如TCP80端口和UDP80端口,因为数据报在标明端口的同时,还将标明端口的类型。 

从端口的分配来看,端口被分为固定端口和动态端口两大类(一些教程还将极少被用到的高端口划分为第三类:私有端口):

   固定端口(01023):使用集中式管理机制,即服从一个管理机构对端口的指派,这个机构负责发布这些指派。由于这些端口紧绑于一些服务,所以我们会经常扫描这些端口来判断对方是否开启了这些服务,如TCP21ftp),80http),139netbios),UDP7echo),69tftp)等等一些大家熟知的端口;

  动态端口(102449151):这些端口并不被固定的捆绑于某一服务,操作系统将这些端口动态的分配给各个进程, 同一进程两次分配有可能分配到不同的端口。不过一些应用程序并不愿意使用操作系统分配的动态端口,他们有其自己的“商标性”端口,如oicq客户端的 4000端口,木马冰河的7626端口等都是固定而出名的。

2.常见的扫描类型

扫描网络端口

端口扫描分类

四、实验步骤

(1)输入想要扫描的IP地址和想要打开的端口号范围,显示出扫描端口的开关情况。

扫描网络端口

(2)输入想要开启的端口号,这里打开29号端口。

扫描网络端口

(3)在cmd中输入netstat -a 命令查看:29号端口是开启的。

扫描网络端口

(4)关闭29号端口,显示关闭完成。

扫描网络端口

(5)在cmd中输入netstat -a 命令查看:已查询不到29号端口,29号端口是关闭的。

扫描网络端口文章来源地址https://www.toymoban.com/news/detail-434679.html

五、实验代码

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.UnknownHostException;
import java.util.Scanner;

public class ScanPort {
    public static void main(String[] args) throws Exception {
        
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入你想要扫描的ip地址:");
        String yid=sc.next();
        System.out.print("请输入超时时间:");
        int timeout=sc.nextInt();
        System.out.print("请输入起始端口号:");
        int i=sc.nextInt();
        System.out.print("请输入最后端口号:");
        int k=sc.nextInt();     
        InetAddress ip=InetAddress.getByName(yid);
        System.out.println("开始扫描:");
        for(;i<=k;i++) {
            try {
                    Socket socket=new Socket();
                    //实现与端口连接
                    // 设置连接超时时间
                    socket.connect(new InetSocketAddress(ip, i), timeout);
                    //判断端口连接状态
                    if(socket.isBound()) System.out.println(i+"端口 open");
                    //if(!socket.isBound()) System.out.println(i+"端口 close");
                    socket.close();
                } catch (Exception e) { 
                System.out.println(i+"端口 close");
            }   
        }
        System.out.println("结束扫描");
        System.out.print("请输入想开启的端口号:");
        int openport=sc.nextInt();      
        ServerSocket server = new ServerSocket(openport);
        for(i=0;i<=k;i++) {
            try {
                    Socket socket=new Socket();
                    //实现与端口连接
                    // 设置连接超时时间
                    socket.connect(new InetSocketAddress(ip, i), timeout);
                    //判断端口连接状态
                    if(socket.isBound()) System.out.println(i+"端口 open");
                    //if(!socket.isBound()) System.out.println(i+"端口 close");
                    socket.close();
                } catch (Exception e) { 
                System.out.println(i+"端口 close");
            }   
        }
        System.out.print("请输入想关闭的端口号:");
        int closeport=sc.nextInt();
        ServerSocket server1;
        if(closeport==openport)
            server.close();
        else {
            server1 = new ServerSocket(closeport);
            server1.close();
        }
        System.out.print("关闭完成");
    }
}

到了这里,关于扫描网络端口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 端口扫描-安全体系-网络安全技术和协议

    全TCP连接:三次握手 半打开式扫描:前两次握手 FIN扫描:不用建立TCP连接 第三方扫描: 拒绝服务攻击有: 同步包风暴 ICMP攻击 SNMP攻击 都是修改注册表来防御攻击 考察这三种拒绝服务攻击的原理 a 由低到高,一共五个等级 自主保护级 系统审计保护级:粒度更细的自主保护级 安全标

    2024年02月09日
    浏览(45)
  • 【Python安全编程】Python实现网络主机和端口扫描

    本文主要讲几个利用Python实现网络扫描的小例子,可以 结合多线程或多进程 编程改进实例 我曾经走过多遥远的路 跨越过多少海洋去看你 Python3环境 scapy库 socket库 能与物理机正常通信的虚拟机 由于本文实验目的为实现网络扫描,即探测网络中存活的主机,为了避免影响真实

    2024年02月11日
    浏览(48)
  • 项目实例:H3C端口镜像 (镜像单目的端口 镜像多目的端口)

    一、项目实例 某局业务系统三级等保项目:配置只列出端口镜像部分,其他部分及设备(略) 1.1 边界部署两台防火墙做HA高可用 1.2 核心使用两台H3C交换机做堆叠,上联线路分别连接防火墙(主)、防火墙(备) 1.3 下联线路连接业务中心、安全监察中心 1.4 IDS入侵检测设备

    2023年04月22日
    浏览(36)
  • 信息安全实验——网络扫描技术

    目录 一、实验项目名称 二、实验目的 三、具体实验内容 四、实验步骤 (一)Nmap使用 1、首先进入自己的终端,查看自己的主机eth0接口的ip地址,如下图: 2、 然后进入桌面上的nmap程序,出现以下界面: 3、 输入目标ip地址,点击扫描,等待Nmap向主机发送ARP的ping数据包  

    2023年04月24日
    浏览(59)
  • Nmap网络扫描器实验

    网络入侵的一般流程是确定目标、信息收集、漏洞挖掘、实施攻击、留下后门、清除日志。在信息收集环节又可分为网络踩点、网络扫描和网络查点。在网络扫描部分,按照攻击者的入侵流程又可分为主机扫描、端口扫描、系统类型探测和漏洞扫描。 网络扫描是针对整个目标

    2024年02月03日
    浏览(57)
  • python-nmap库使用教程(Nmap网络扫描器的Python接口)(功能:主机发现、端口扫描、操作系统识别等)

    Python-nmap是一个Python库,用于帮助进行网络扫描。它是Nmap网络扫描器的Python接口,允许开发者从Python脚本中直接调用Nmap的功能。这篇文章将详细介绍如何使用python-nmap库来执行各种网络扫描任务。 在开始之前,需要确保安装了Nmap和python-nmap库。可以通过以下命令安装Nmap: 对

    2024年02月21日
    浏览(47)
  • 小程序订单中心path设置本次审核不通过,审核原因:小程序尚未发布,无法审核。

    小程序尚未发布,无法审核。 先按照这篇文章把小程序审核通过,小程序版本审核未通过,需在开发者后台「版本管理—提交审核——小程序订单中心path」设置订单中心页path,请设置后再提交代码审核 小程序审核通过后,发布到线上 微信公平台-设置-服务内容声明-小程序

    2024年02月05日
    浏览(41)
  • ESP32接入网络后,循环扫描服务器IP及端口状态信息(ESP-IDF)

            本文使用的是ESP32系列的ESP32S3设备开发,ESP-IDF框架版本为 ESP-IDF V5.1 ,在VScode下以ESP-IDF插件的形式对设备开发。 后期经过对程序的测试发现,在ESP-IDF v4.4框架下编译开发,也可以实现循环扫描功能,实现功能的程序源码Demo见文末。         在嵌入式物联网这

    2024年02月02日
    浏览(58)
  • iptables修改目的IP和端口

    iptables NAT表的OUTPUT链用于对由本机发起的数据包进行目标IP地址和端口号的修改。DNAT指令可以用于将数据包的目标IP地址和端口号替换为指定的IP地址和端口号。在OUTPUT链中使用DNAT指令可以实现对本机发送的数据包进行目标地址的转换,将数据包发送至指定的目标地址。用法

    2024年02月05日
    浏览(45)
  • powershell udp源端口范围转发到目的端口范围中的同一端口

    在PowerShell中实现UDP源端口范围转发到目的端口范围中的同一端口,你需要为每个源端口和目标端口对创建一个独立的转发规则。由于PowerShell的限制,这通常涉及创建多个独立的监听线程或异步任务。以下是一个示例脚本,展示了如何使用PowerShell实现这一功能: 在这个脚本中

    2024年02月19日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包