信息搜集 – 二层发现 arping[通俗易懂]

信息搜集 – 二层发现 arping[通俗易懂]0x00:简介在被动信息搜集工作完成后,需要在进一步的对目标进行主动信息搜集,这一阶段主要搜索的信息包括目标主机是否存活,上面开放了哪些端口,有哪些服务,服务系统是什么,开发服务的版本以及上面支撑系统运行的一些中间件或者其他软件的版本(后续可根据版本号查看是否有公开的漏洞问题),在目标主机发现的过程中,不仅要发现目标是否存活,还要发现其整个网段下的其他设备,同时,这些其他设备也应该像目标一样搜…

大家好,又见面了,我是你们的朋友全栈君。

0x00:简介

在被动信息搜集工作完成后,需要在进一步的对目标进行主动信息搜集,这一阶段主要搜索的信息包括目标主机是否存活,上面开放了哪些端口,有哪些服务,服务系统是什么,开发服务的版本以及上面支撑系统运行的一些中间件或者其他软件的版本(后续可根据版本号查看是否有公开的漏洞问题),在目标主机发现的过程中,不仅要发现目标是否存活,还要发现其整个网段下的其他设备,同时,这些其他设备也应该像目标一样搜集其各种信息。

主动信息搜集是直接与系统目标进行交互通信,会有访问痕迹,大量的扫描可能会禁止你的 ip,这时可以通过代理或者肉鸡来进行相关的操作。

0x01:arp 协议

在七层模型中,arp 协议属于数据链路层,各层简单说明以及常用的协议如下:

请输入图片描述

arp 全名叫 address resolution protocol 地址解析协议,在通信过程中因为需要知道对方主机的 mac 地址,而这个工作就是 arp 来做的,也就是通过 ip 获取 mac。

arp 会发送一个广播,来问其他主机谁的 ip 是 x.x.x.x,其他主机收到广播后如果不是自己则忽略,如果是就会将自己的 mac 进行返回,另一端收到 mac 后就会将其缓存到自己的 arp 表中。

0x02:利用 arp 进行主机发现

二层主要协议是 arp,可以利用 arp 去进行网络发现,命令可以实用 arping,arping 后跟 ip 地址,可以用来探测目标是否在线,如下图:

请输入图片描述

如上图,直接跟 ip 会不断的给目标发包,而 c 参数是指定包的数量。当需要扫描网段时,可以写一个 shell 脚本更方便,示例如下:

#!/bin/bash
if [ "$#" -ne 1 ];then
  echo "需要跟一个网卡参数,例如./arping.sh eth0"
  exit
fi

interface=$1 
prefix=$(ifconfig $interface | grep "inet " | cut -d 't' -f 2 | cut -d '.' -f 1-3)

for addr in $(seq 1 254);do 
 arping -c 1 $prefix.$addr | grep "reply from" | cut -d " " -f 4

done

整体来说就是脚本使用时后跟网卡名称,然后利用 ifconfig 提取出来 ip 的前三段,最后用 for 循环第四段从 1 到 254,用 arping 去发现。使用如下:

首先需要赋予执行权限,命令:chmod u+x arping.sh。执行命令:./arping.sh eth0。如果不跟网卡参数,则会提醒需要跟一个网卡参数。

请输入图片描述

执行过程中可以使用 wireshark 看一下经过 eth0 网卡的流量,如下图:

请输入图片描述

这里注意的是,如果路由开启了 AP 隔离功能,则是 ping 不通的。

当 arping 出的结果可以将结果定向输出到一个文件中,下次需要看之前发现的目标是否还在线时,可以直接去 ping 文件中已有的 ip,节省时间,提高效率,shell 脚本示例如下:

#!/bin/bash
if [ "$#" -ne 1 ];then
  echo "需要跟一个文件名称作为参数,例如./arping-txt.sh file"
  exit
fi
file=$1
for addr in $(cat $file);do
   arping -c 1 $addr | grep "reply from" | cut -d " " -f 4
done

执行结果示例如下:

请输入图片描述

0x03:总结

二层发现主要是利用 arp 协议进行发现其他主机,二层发现除了 arping 外其他工具和命令后续会继续介绍,因为当拿下一个机器时,可能环境的差异,有些命令没有有些命令有,所以了解每一层发现的命令是有必要的。关于 arp 的攻击因为篇幅原因后续会单独写一篇博客出来。


                                                                          公众号推荐:aFa攻防实验室

                         分享关于信息搜集、Web安全、内网安全、代码审计、红蓝对抗、Java、Python等方面的东西。

                                                                           信息搜集 - 二层发现 arping[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/138721.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月30日 下午10:46
下一篇 2022年5月30日 下午11:00


相关推荐

  • GridLayout上动态添加控件「建议收藏」

    GridLayout上动态添加控件「建议收藏」Android上GridLayout和java上的感觉差不多,但是在添加布局内部添加控件就不是那么容易了。 grid=(GridLayout)findViewById(R.id.grid);//获取GridLayout控件 intcount=1; for(inti=0;i<6;i++) for(intj=0;j<5;j++){ System.out.pri

    2022年6月5日
    34
  • 手把手在 macOS 安装并使用 OpenClaw

    手把手在 macOS 安装并使用 OpenClaw

    2026年3月13日
    3
  • Java空指针异常和解决办法

    Java空指针异常和解决办法目录问题描述 尝试 1 尝试 2 使用 Optional 防止出现空指针异常引用问题描述 publicclassM publicstatic String args Stringid null Itemitem ItemService getItemById id System out println item name privatestati

    2026年3月18日
    2
  • java中的守护线程守护的是什么_java守护线程的作用

    java中的守护线程守护的是什么_java守护线程的作用守护线程在Java中有两类线程:UserThread(用户线程)DaemonThread(守护线程)守护线程的功能非常简单,在其本身是一个线程的同时,主要是为了给其他的线程提供服务,比如说计时器,清空高速缓存等等操作,守护线程具有和被守护线程一样的生命周期(这里并不是说守护线程和被守护线程常常是1-1的关系),当被守护线程死亡,守护线程往往也会死亡,当虚拟机中只剩下守护线程时,虚拟机就会退出,因为此时也没有运行程序的必要了一个比较通俗的解释:任何一个守护线程都是整个JVM中所有非守护线程

    2022年10月9日
    3
  • 机器学习评价指标AUC计算公式

    机器学习评价指标AUC计算公式1 什么是 AUC AUC areundercurv 是一个模型的评价指标 用于分类任务 那么这个指标代表什么呢 这个指标想表达的含义 简单来说其实就是随机抽出一对样本 一个正样本 一个负样本 然后用训练得到的分类器来对这两个样本进行预测 预测得到正样本的概率大于负样本概率的概率 2 如何计算 AUC 方法一在有 M 个正样本 N 个负样本的数据集里 一共有 MN 对样本 一对样本即 一个正样本与一个负样本 统计这 MN 对样本里 正样本的预测概率大于负样本的预测概率的个数 这里第一个条件应该为 P

    2026年3月26日
    1
  • gauss-jordan消元法求矩阵的逆_伪逆矩阵求法

    gauss-jordan消元法求矩阵的逆_伪逆矩阵求法转载来源于:http://student.zjzk.cn/course_ware/web-gcsx/gcsx/chapter3/chapter3.2.htmhttp://student.zjzk.cn/course_ware/web-gcsx/gcsx/chapter1/chapter1.2.htm#21先回顾一下高斯消元法:§1.2 消元法与矩阵的初等

    2022年8月21日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号