计算机端口扫描器的使用

以使用XScan为例,环境为局域网,做实验总结

首先打开XScan,可以看到非常简洁的GUI(图形用户接口)界面。

点击第一个按钮,在弹出的“扫描参数”中,有如下几个参数可选。

(1)“检测范围”模块:

①“指定IP范围” -该模块指定您要扫描的对象,本地服务器还是网络中的计算机。默认是localhost,这意味着你扫描的是本地计算机。范围可以是个IP段,可输入以“-”和“,”分隔的IP范围,如“192.168.0.1-20,192.168.1.10-192.168.1.254”,或类似“192.168.100.1/24”的掩码格式。方式如下:223.321.21.0-223.321.21.100,这就说明您扫描的范围是在这两个IP范围内所有的计算机。也可以输入独立IP地址或域名。

②“从文件中获取主机列表” - 选中该复选框将从文件中读取待检测主机地址,文件格式应为纯文本,每一行可包含独立IP或域名,也可包含以“-”和“,”分隔的IP范围。

(2)“全局设置”模块:

①“扫描模块”项 - 选择本次扫描需要加载的插件。

②“并发扫描”项 - 设置并发扫描的主机和并发线程数,也可以单独为每个主机的各个插件设置最大线程数。

③“扫描报告”项 -该功能模块是在您完成您的扫描后,X-Scan将以什么样的形式反馈扫描报告。扫描结束后生成的报告文件名,保存在LOG目录下。扫描报告目前支持TXT、HTML和XML三种格式。

④“其他设置”项:

“跳过没有响应的主机” - 若目标主机不响应ICMP ECHO及TCP SYN报文,X-Scan将跳过对该主机的检测。

“无条件扫描” - 如标题所述

“跳过没有检测到开放端口的主机” - 若在用户指定的TCP端口范围内没有发现开放端口,将跳过对该主机的后续检测。

“使用NMAP判断远程操作系统” - X-Scan使用SNMP、NETBIOS和NMAP综合判断远程操作系统类型,若NMAP频繁出错,可关闭该选项。

“显示详细信息” - 主要用于调试,平时不推荐使用该选项。

(3)“插件设置”模块:

该模块包包括了端口相关设置,SNMP相关设置,NETBIOS相关设置,漏洞检测脚本设置,CGI相关设置,字典文件设置这6项设置。

①端口相关设置--该模块将根据您的要求设置扫描的端口以及扫描方式。

默认的端口扫描参数为:7,9,13,19,21,22,23,25,53,79,80,110,111,119,135,139,143,443,445,465,512-514,554,563,585,636,808,990-995,1025,1027,1080,1352,1433,1521,1525,1935,2049,2401,3306,3128,3389,4899,5000,5800,5900,5901,6000-6009,8000,8080,8181,65301

扫描方式有两种,一种是利用TCP检测,一种是利用SYN检测。

②SNMP相关设置--有的服务器上SNMP问题依然存在,所以该检测模块将检测SNMP信息。

③NETBIOS相关设置--该模块将扫描NETBIOS的相关设置,以方便您了解NETBIOS上存在的问题。该模块的选项主要有:注册表敏感键值,服务器时间,域控制器信息,传输列表,会话列表等。

④漏洞检测脚本--如果您善于编写脚本,那么该模块将大大的简化您的日常工作以及便于您对X-SCAN的使用。

⑤CGI设置--对于信息服务器来将,CGI检测是尤为总要的。

⑥字典设置--XSCAN自带的字典有很多,用来破解您系统的弱口令。一个好的字典将决定了你服务器的安全性。

6.设置完毕后,点击开始按钮,X-SCAN就可以开始扫描。在扫描过程中可以看到具体的扫描过程。

7.漏洞发现:扫描完毕后,将会使用你选择的扫描报告形式予以报告。我们使用HTML。针对各个安全问题,XSCAN都给出了相关的解决方案。如networkblackjack(1025/tcp) 在本地的安全级别不高,恶意人员可能通过该漏洞入侵到服务器中。

附:

在实验中,我将在Windows操作系统下使用端口扫描工具Xscan,Nmap和流光Fluxay5.0进行网络端口综合扫描实验,并给出安全性评估报告,加深对各种网络和系统漏洞的理解。同时,通过系统漏洞的入侵练习增强网络安全防护意识。

1)Xscan使用

X-scan v3.3采用多线程方式对指定IP地址段进行扫描,扫描内容包括:SNMP信息,CGI漏洞,IIS漏洞,RPC漏洞,SSL漏洞,SQL-SERVER、SMTP-SERVER、弱口令用户等。扫描结果保存在/log/目录中。其主界面如下图。

Xscan主界面

2)开始扫描

第一步:配置扫描参数,先点击扫描参数,在下面红框内输入你要扫描主机的ip地址(或是一个范围),本说明中我们设置为靶机服务器的IP地址,192.168.20.245,如图

扫描参数设定

扫描参数设定

为了大幅度提高扫描的效率我们选择跳过PING不通的主机,跳过没有开放端口的主机。其它的如“端口相关设置”等可以进行比如扫描某一特定端口等特殊操作(X-scan默认也只是扫描一些常用端口,如图

扫描参数设定

第二步,选择需要扫描的项目,点击扫描模块可以选择扫描的项目,如图

选择扫描项目

第三步,开始扫描,如图。该扫描过程会比较长,请大家耐心等待,并思考各种漏洞的含义。扫描结束后会自动生成检测报告,点击“查看”,我们选择检测报表为HTML格式,如图

开始扫描

选择报表类型

第四步,生成报表如下图

扫描报表内容

我从扫描结果可以看出,靶机服务器存在大量的安全漏洞。接下来请用相同的方法扫描靶机服务器上的虚拟机。对比结果后,请大家针对其中的两种漏洞进行详细分析,并找出防范该漏洞的方法。本实验采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能。扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞、网络设备漏洞、拒绝服务漏洞等二十几个大类。

原文地址:https://www.cnblogs.com/mutudou/p/11865763.html

时间: 2024-11-09 06:29:08

计算机端口扫描器的使用的相关文章

[转载] 计算机端口详解

一 摘要 端口是个网络应用中很重要的东西,相当于"门"了.二 什么是端口 在 Internet上,各主机间通过TCP/TP协议发送和接收数据报,各个数据报根据其目的主机的ip地址来进行互联网络中的路由选择.可见,把数据报顺 利的传送到目的主机是没有问题的.问题出在哪里呢?我们知道大多数操作系统都支持多程序(进程)同时运行,那么目的主机应该把接收到的数据报传送给众多同 时运行的进程中的哪一个呢?显然这个问题有待解决,端口机制便由此被引入进来. 本地操作系统会给那些有需求的进程分配协议端口

mac/unix系统:C++实现一个端口扫描器

在比较早以前,我用过S扫描器, 以及大名鼎鼎的nmap扫描器, 可以快速扫描某个主机开放的端口, 今天使用C实现这样一个软件, 编译环境为Mac, 系统版本10.11.6: #include <stdio.h> #include <stdlib.h> #include <sys/socket.h> #include <unistd.h> #include <time.h> #include <sys/types.h> #include

查找计算机端口的占用情况

查找计算机端口的占用情况 例如查端口号5037(adb的端口)的占用情况 一.使用 netstat -ano命令 找到端口号为5037的,并且找到对应进程的PID 然后我们区windows任务管理器里面找PID是5736的进程是什么 找到为eclipse,说明找对了,因为eclipse会调用adb 二.命令行窗口的帮助 如果有什么指令不清楚,就在命令行窗口按下面方式查帮助即可

利用 fsockopen() 函数开放端口扫描器

利用 fsockopen() 函数开放端口扫描器 1.前言 本文利用 fsockopen() 函数,编写一个功能简单的端口扫描器. 2.关键技术 本实例的端口号是固定的,通过对数组的遍历,利用 fsockopen() 函数连接,如果连接成功,则该端口处于开放状态,否则该端口处于关闭状态. 核心代码如下: foreach ($port as $key => $value) { echo '<tr>'; echo '<td>' . $key . '</td>'; ec

java编写一个端口扫描器

好久没写java了,学的时候,也没学习网络编程这一块,无意中看到了一本书,于是小小复习一下java,写个端口扫描器,玩玩吧,网上这种小公具有的是,就是自己无聊写着玩玩. 源代码如下: 共两个类,比较简单奥 import javax.swing.*; import java.awt.Dimension; import java.awt.Font; import java.awt.Toolkit; import java.awt.event.*; public class PortScan exte

写个端口扫描器及各种尝试

端口扫描器原理很简单,无非就是操作socket,能connect就认定这个端口开放着. import socket def scan(port): s = socket.socket() if s.connect_ex(('localhost', port)) == 0: print port, 'open' s.close() if __name__ == '__main__': map(scan,range(1,65536)) 这样一个最简单的端口扫描器出来了. 等等喂,半天都没反应,那是因

【技术分享】手把手教你使用PowerShell内置的端口扫描器

[技术分享]手把手教你使用PowerShell内置的端口扫描器 引言 想做端口扫描,NMAP是理想的选择,但是有时候NMAP并不可用.有的时候仅仅是想看一下某个端口是否开放.在这些情况下,PowerShell确实能够大放异彩.接下来我们聊聊如何使用PowerShell实现基本的端口扫描功能. 本文中用到的PowerShell命令 PowerShell端口扫描器:针对单个IP的多个端口的扫描 1..1024 | % {echo ((new-object Net.Sockets.TcpClient)

用threading和Queue模块实现多线程的端口扫描器

一.Queue模块基础 q = Queue.Queue()    q.qsize()           返回队列的大小  q.empty()         如果队列为空,返回True,反之False  q.full()        如果队列满了,返回True,反之False q.full            与 maxsize 大小对应  q.get([block[, timeout]]) 获取队列,timeout等待时间  q.get_nowait()         相当q.get(

python端口扫描器

吃了个火鸡面后感觉到了怀疑人生!!!!!!!!!妈耶,在也不吃了.思路都给辣没了!!! python端口扫描器代码如下: #-*-coding:utf-8 from socket import * import threading import argpars lock=threading.lock() openNUm=0 threads=[] def portScanner(host,port): global openNum try: s=socket(AF_INET,SOCK_STREAM