信息搜集 – 二层发现 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


相关推荐

  • IIS Express ArgumentOutOfRangeException

    IIS Express ArgumentOutOfRangeException

    2022年3月6日
    43
  • 0-1多重背包(单调队列+多重背包)[通俗易懂]

    0-1多重背包(单调队列+多重背包)[通俗易懂]原题链接有 N 种物品和一个容量是 V 的背包。第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。输入格式第一行两个整数,N,V (0<N≤1000, 0<V≤20000),用空格隔开,分别表示物品种数和背包容积。接下来有 N 行,每行三个整数 vi,wi,si,用空格隔开,分别表示第 i 种物品的体积、价值和数量。输出格式输出一个整数,表示最大价值。数据范围0<N≤1

    2022年8月8日
    8
  • eclipse使用svn更新代码_eclipse安装svn

    eclipse使用svn更新代码_eclipse安装svn1.先去将本地的代码更新到最新,如果更新内容较少,可以点击资源同步,具体可以看一下博主:svn创建svn图文2.更新成最新的代码之后,点击创建补丁,点击第二个file文本框,选择一个文件夹存下一个文件。3.打开申请上线权限,。点击puth,填写./4.申请通过之后,复制review+版本号5.将复制的版本号放到comment下6.点击ok。…

    2025年8月7日
    4
  • Ubuntu18.04的网络配置

    Ubuntu18.04的网络配置1、网络配置1首先打开虚拟网络编辑器进行配置,会加载几秒钟2点击更改设置1.3选择添加网络,添加一个Vment0,并设置为桥接模式,桥接到处设置为自动即可,如下图所示注意:这里有可能会出现问题:无法将网络更改为桥接状态,没有未桥接的主机网络适配器,解决办法请查看我的另外一章博客:https://blog.csdn.net/weixin_42108484/arti…

    2022年6月4日
    35
  • 驼峰命名法等命名规范

    驼峰命名法等命名规范人们交流靠各种语言 每行都有每行的所谓的 行话 程序员也不例外 众所周知 程序员都是用代码进行交流的 那么除了在代码中的注释之外 程序员如何读懂别人的程序呢 当然 程序员之间也有所谓的 潜规则 大家都把代码中的变量 函数和类等等用目前常用的匈牙利命名 驼峰式 帕斯卡命名法来进行命名 一 匈牙利命名法匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀 标识出变量的作用域 类型

    2026年3月18日
    1
  • 新版eclipse自动补全代码不能用怎么办_eclipse打开代码提示

    新版eclipse自动补全代码不能用怎么办_eclipse打开代码提示最新下了新版的eclipse,版本为4.4和4.2,发现这两个版本都无法自动补全代码,经过与原来eclipse比较,发现有几项key的设置有问题,现在分享出来,以供和我遇到一样问题的人参考。设置如下:1.打开windows-&gt;perferences-&gt;keys2.在keys中搜索wordcompletion,将原来的Alt+/改为Ctrl+Alt+/3…

    2022年10月15日
    4

发表回复

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

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