信息搜集 – 二层发现 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[通俗易懂]

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 爱奇艺vip会员账号共享怎么用_爱奇艺的vip都和谁有合作

    爱奇艺vip会员账号共享怎么用_爱奇艺的vip都和谁有合作之前没事的时候,使用nmap检测到路由器存在弱口令admin今天没事登录路由器看看哪台机器流量比较多,刷新了几次流量统计,发现10.0.0.81的机器一直排的首位,流量蛮大,于是想看看这台机器在干什么打开我的kali系统,启动arpspoof,准备命令arpspoof-ietho-cown-t10.0.0.8110.0.0.1启动Wireshark,设置过滤条件i

  • JavaScript和Java的区别[通俗易懂]

    JavaScript和Java的区别[通俗易懂]  虽然JavaScript中有Java,但他们之间的关系就如同印度和印度尼西亚一样——没有什么关系。只是JavaScript中的某些语法和Java类似而已。出身不同  Java和JavaScript是由不同公司发布的不同的产品,Java是由Sun公司发布编程语言,而JavaScript是由Netscape公司发布的脚本语言。变量不同1.变量定义时的区别  定义变量时Java和JavaScript有区别。Java是强类型的语言,它要求每个变量必须在定义时明确指出这个变量是什么类型的;而JavaS

  • 原型工具 墨刀_原型设计工具 axure

    原型工具 墨刀_原型设计工具 axure一、AxureAxureRP是美国AxureSoftwareSolution公司旗舰产品,是一个专业的快速原型设计工具,让负责定义需求和规格、设计功能和界面的专家能够快速创建应用软件或Web网

  • 后台管理系统 – 页面布局设计

    后台管理系统 – 页面布局设计前端的中后台管理系统相比于其他普通项目,从开发设计的角度来说有几点比较特殊:一个是权限设计,具体实现可参考:传送门。一个是页面布局的设计,也是本文要说的。一个好的页面布局设计,无论是对于页面布局的稳定性,还是系统功能拓展的方便性,亦或是用户体验上,都有着重要的提升作用。一、市面参考先来看看市面上的一些优秀的开源系统项目的页面布局。1、vue-element-adminvue-element-admin是vue框架的一个优秀的后台管理系统开源项目,目前star数75k,也是我入行前端的启

  • 深入了解MyBatis二级缓存

    深入了解MyBatis二级缓存MyBatis深入了解二级缓存

    2022年10月22日
  • VS自带反编译DLL工具「建议收藏」

    VS命令提示符下输入ILDasm转载于:https://www.cnblogs.com/Impulse/p/4022413.html

发表回复

您的电子邮箱地址不会被公开。

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