网络安全--主机探测教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


实验目的

学习常用的主机探测命令,查看各个命令的探测结果

实验环境

Kali-linux虚拟机
win 11 物理机

一、ping

1.用途

利用Ping命令进行主机扫描、利用Ping主机扫描测试网络故障、利用Ping探测主机的操作系统

2.常见用法

根据TCP、UDP、ICMP传输协议的特点,根据安全扫描技术的特点:先发现目标、再进行信息收集、最后分析评估。根据Ping命令的相关功能进行扫描探测,如Ping命令中的Socket的SO_DEBUG功能、极限检测、只输出数值、记录路由过程、发送指定数目的包后停止等。还可以通过脚本进行批量主机探测

3.探测结果

①查看物理机ip地址:192.168.170.62
虚拟机ip地址:192.168.119.132
在这里插入图片描述

在这里插入图片描述

②用虚拟机执行"ping 192.168.119.1"命令,Ping物理机的IP地址,测试与局域网内其它主机连通性。由 下图可看出,局域网连通性正常,本地工作站能通过网关设备与局域网中的其他工作站进行通信。

在这里插入图片描述

③记录路由。执行"ping -c2 -R 192.168.186.250"命令,Ping实验环境的IP地址。“记录路由”选项用于记录由回响请求消息和相应的回响应答消息使用的路径。主要是用来检查目标的路由数量,每经过一个路由就是一个hop,可看出,发送了2个数据,没有记录路由。
在这里插入图片描述

④扫描活动主机
首先执行vi pingaddr.sh命令,进行脚本编辑。Linux编程,通过if-then结构,判断序列1-255之间,是否存在活动的目标,并将其输出。编辑完成后按Esc,执行:wq命令保存退出。
脚本内容:
在这里插入图片描述

chmod a+x ./pingaddr.sh #添加执行权限
./pingaddr.sh #进行扫描

结果可看出,没有活动状态的主机。

在这里插入图片描述

⑤还可用以下脚本指定ping哪几台主机。最多ping失败三次后,打印出失败的IP,绿色IP代表成功,红色IP代表失败。

#!/bin/bash
IP_LIST="192.168.0.17 192.168.0.18 192.168.0.19"  #将ip放进数组中
for ip in $IP_LIST; do                          #for循环遍历数组
    num=1                                  #定义初始值
    while [ $num -le 3 ] 
    do
        if ping -c 1 $ip >/dev/null
        then
           echo -e "\033[32;1m$ip Ping is success\033[0m"  #if 判断如果ping通 则返回success
           break
        else
           FALL[$num]=$ip                 #反之 则失败次数+1
           let num++
        fi
    done
    if [ ${#FALL[*]} -eq 3 ]  # if判断如果失败次数等于3 则返回Ping is failure
    then
        echo -e "\033[31;1m${FALL[1]} Ping is failure!\033[0m"
        unset FALL[*]
    fi
done

⑥变通命令,扫描整个内网段:如下命令扫描整个 192.168.119.* 网段:

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.119.%I | findstr "TTL="

二、fping

1.用途

扫描网络存活主机,并保存为文件

2.常见用法

fping -g 192.168.119.0/24 -a -q > activeHost
cat activeHost

3.探测结果

在这里插入图片描述

三、hping

1.用途

hping 是面向命令行的用于生成和解析TCP/IP协议数据包汇编/分析的开源工具,hping 优势在于能够定制数据包的各个部分,因此用户可以灵活对目标机进行细致地探测。你可手动制作类似于Nmap引擎自动生成的数据包,例如Hping3可以使用-S来创建件一系列同步包:hping3 -S 10.1.1.1

2.常见用法

用法: hping3 host [options]
  -h  --help      显示帮助
  -v  --version   显示版本
  -c  --count     发送数据包的数目
  -i  --interval  发送数据包间隔的时间 (uX即X微秒, 例如: -i u1000)
      --fast      等同 -i u10000 (每秒10个包)
      --faster    等同 -i u1000 (每秒100个包)
      --flood	  尽最快发送数据包,不显示回复。
  -n  --numeric   数字化输出,象征性输出主机地址。
  -q  --quiet     安静模式
  -I  --interface 网卡接口 (默认路由接口)
  -V  --verbose   详细模式
  -D  --debug     调试信息
  -z  --bind      绑定ctrl+z到ttl(默认为目的端口)
  -Z  --unbind    取消绑定ctrl+z键
      --beep      对于接收到的每个匹配数据包蜂鸣声提示

3.探测结果

hping3 -1 192.168.170.62  

在这里插入图片描述

四、nping

1.用途

Nping是支持多协议(TCP,UDP,ICMP,ARP)且允许用户设置网络报文格式的探测工具,可以自定义协议头中的字段。

2.常见用法

在终端输入命令 nping -c 2 --tcp -p 80 -flags syn 目标ip向目标主机80端口发送自带SYN标志的TCP数据包两个

3.探测结果

如:

nping --tcp -p 80 --flags rst --ttl 2 192.168.170.62

在这里插入图片描述

五、nbtscan

1.用途

nbtscan是一个通过扫描IP地址获取目标NetBIOS名字信息的工具,生成包含对应主机IP地址,NetBIOS计算机名,可用服务,登录用户名和MAC地址的报告

2.常见用法

在终端输入命令:nbstscan 目标ip 查看目标主机的NETBIOS信息
在终端中输入nbtscan -hv 目标ip 可以查看主机运行服务.

3.探测结果

nbtscan 192.168.170.62
nbtscan -hv 192.168.170.62

在这里插入图片描述

4.重点用法:SMB枚举

nbtscan对给出范围内的每一个地址发送NetBIOS状态查询,并且以易读的表格列出接收到的信息,对于每个响应的主机,NBTScan列出它的IP地址、NetBIOS计算机名、登录用户名和MAC地址。但只能用于局域网,NBTSCAN可以取到PC的真实IP地址和MAC地址,如果有”ARP攻击”在做怪,可以找到装有ARP攻击的PC的IP/和MAC地址。

nbtscan -r 192.168.170.0/24 #搜索整个192.168.170.0/24网段, 即192.168.170.1-192.168.170.254
nbtscan 192.168.170.2-250 #搜索192.168.170.2-250 网段,即192.168.170.2-192.168.170.250

输出结果第一列是IP地址,最后一列是MAC地址。

在这里插入图片描述

六、nmap

1.用途

Nmap(也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包)是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。

2.常见用法

1)主机发现:检测目标主机是否在线
2)端口扫描:检测端口状态和提供的服务
3)版本侦测:检测端口提供服务的包或软件的版本信息
4)操作系统侦测:检测主机使用的操作系统

3.探测结果

如果要对子网中的主机进行主机发现,可以采用ping扫描方式。在这种模式下,Nmap会发送一个ICMP回声请求和一个TCP报文到目标端口,然后显示出在线的主机,ping扫描可以轻易地获取目标服务器的信息而不会被轻易发现,也不会返回太多的信息干扰对结果的分析,因此是一种非常高效的扫描方式。
Ping扫描的命令为:nmap -sP ip子网 【Ping扫描】【小写字母s,大写字母P】
如:nmap -sP 192.168.170.1/24的扫描结果如下,Host is up 说明主机处于开启状态。
在这里插入图片描述

4.重点用法:nmap脚本引擎功能

①在使用nmap时,通过在命令中加上—scritp就可以调用nmap的脚本来配合扫描。Nmap自带后已经安装了很多脚本,kali中的路径如下所示:

cd /usr/share/nmap/scripts
ls

在这里插入图片描述

②脚本扩展分类包括:
auth 处理身份验证
broadcast 网络广播
brute 暴力猜解
default 默认
discovery 服务发现
dos 拒绝服务
exploit 漏洞利用
external 外部扩展
fuzzer 模糊测试
intrusive 扫描可能造成不良后果
malware 检测后门
safe 扫描危害较小
version 版本识别
vuln 漏洞检测
③可以使用种类的名字调用该分类下的全部脚本,比如—scritp vuln,不过这比较费时间,这里尝试单个的,比如以自带的http-methods脚本为例。
首先我们要知道脚本的用法,如下所示:scritp-hep后面指定脚本名称即可

nmap --script-help=http-methods 192.168.170.62

在这里插入图片描述
④接下来使用该脚本

nmap --script=http-methods 192.168.170.62

在这里插入图片描述

七、amap

1.用途

Amap是第首款针对渗透测试人员的下一代扫描工具, 它尝试识别即使在不同于正常端口的端口上运行应用程序。Amap还可以通过发送触发数据包并在响应字符串列表中查找响应来识别基于非ascii编码的应用程序。

2.常见用法

apt install amap 
amap

在这里插入图片描述

语法: amap [-A|-B|-P|-W] [-1buSRHUdqv] [[-m] -o ] [-D ] [-t/-T sec] [-c cons] [-C retries] [-p proto] [-i ] [target port [port] ...]
模式:
-A 地图应用程序:发送触发包和分析响应(默认)
-B 只抓取标识信息,不发送触发包
-P 不抓取标识信息横幅或应用程序的东西 - (全连接)端口扫描器
选项:
    -1 只发送触发到端口,直到第一次标识
    -6 使用IPv6而不是IPv4
    -b 打印响应的ascii标识信息
    -i FILE 输出Nmap可读文件
    -u 在命令行上指定的端口UDP(默认为TCP)
    -R 不标识RPC服务
    -H 不发送被应用程序标记为潜在有害的触发包
    -U 不要转储无法识别的响应(更脚本处理)
    -d 转储所有响应
    -v 详细模式,使用两次(或更多!)进行调试(不推荐:-)
    -q 不报告关闭的端口,并且不将其打印为不识别的
    -o FILE [-m] 将输出写入文件FILE,-m创建机器可读输出
    -c CONS 要进行的并行连接数(默认32,最大256-C RETRIES 连接超时的重新连接数(请参见-T)(默认3-T SEC 连接尝试的连接超时(以秒为单位)(默认为5-t SEC 响应等待超时(以秒为单位)(默认值为5-p PROTO 仅发送此协议的触发包(例如ftp)

3.探测结果

扫描192.168.170. 62端口,显示接收的标识(b),不显示关闭端口(Q),并使用详细输出(V):

amap -bqv 192.168.170.62 21

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值