Kali学习笔记6:二层发现
先介绍下ARPING命令:
arping命令是用于发送ARP请求到一个相邻主机的工具
arping使用arp数据包,通过PING命令检查设备上的硬件地址。能够测试一个IP地址是否是在网络上已经被使用,并能够获取更多设备信息。功能类似于ping
直接使用,-c 参数:只发一个数据包

由于这个IP不存在,只发出去数据包,但是没有应答。
也可以写一个简单的脚本:
作用:对局域网内所有设备扫描
#!/bin/bash
if [ "$#" -ne 1 ];then
echo "Usage - ./arping.sh [interface]"
echo "Excample - ./arping.sh eth0"
echo "Example will perform an ARP scan of the local subnet to which eth0 is assigned"
exit
fi interface=$1
prefix=$(ifconfig $interface | grep "broadcast" | cut -d " " -f 10 | cut -d '.' -f 1-3)
for addr in $(seq 1 255);do
arping -c 1 $prefix.$addr -I $interface | grep "reply from" | cut -d" " -f 4
done
写好后命名:arping.sh
(如果无法运行,chmod即可)
第一次运行出错,因为需要参数:

可见,这里发现了一个192.168.87.2
nmap在二层发现中的使用:
nmap只需要一行即可实现arping的一个脚本:并且速度更快
#!/bin/bash
if [ "$#" -ne 1 ];then
echo "Usage - ./arping.sh [interface]"
echo "Excample - ./arping.sh eth0"
echo "Example will perform an ARP scan of the local subnet to which eth0 is assigned"
exit
fi interface=$1
prefix=$(ifconfig $interface | grep "broadcast" | cut -d " " -f 10 | cut -d '.' -f 1-3)
for addr in $(seq 1 255);do
arping -c 1 $prefix.$addr -I $interface | grep "reply from" | cut -d" " -f 4
done
nmap:

扫描一个指定文件中保存的IP:

其实nmap这里的扫描和arping不一样,可以抓包发现,nmap还发送DNS数据包,解析主机名
Netdiscover命令用于二层发现:
主动发现:

扫描本地所有网段:

扫描完成
可以把需要扫描的IP放在一个文件中扫描:

被动发现:原理是将网卡设置成混杂模式,等待数据包,收集信息


现在就是在等待状态,只要有数据包,就会出现显示在这里。
直接输入scapy,发现丢失文件或者有错误
这时候,输入这行即可:

耗时不多,发现下载完成之后就可以正常开启scapy了!
简单使用方式:就像调用函数的方式:
示例:这里我要定制一个ARP数据包,输入ARP后查看相关信息:

这里九行的意思分别是:硬件类型,协议类型,硬件地址长度,协议长度,操作(这里的who-has表示ARP的查询包),后边的是四个地址
参数的意思分别是:0x1:以太网,0x800:IP协议,长度分别是6,4,整体来看:
这样来理解这个包:谁是psrc(发送源)?谁的mac地址是hwsrc(发送源)?我要查的是pdst这个地址;hwdst这个mac地址!
通常我们这样来给变量赋值:

我们只需要一个简单的命令就可以将这个包发出去:

仔细看下,这里发送出去了一个包,并且回应了一个包,说明192.168.87.1这个ip地址存在
我们可以抓包看看:

不错,这个包确实发送出去了!
还可以简单设置下,看看回应包的内容

我们可以使用脚本:
arp1.py
#!/usr/bin/python import logging
import subprocess
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import* if len( sys.argv ) !=:
print "Usage - ./arp_discpy [interface]"
print "Example - ./arp_disc.py eth0"
print "Example will perform an ARP scan of thr local subnet to which eth0 is assigned"
sys.exit() interface = str(sys.argv[]) ip=subprocess.check_output("ifconfig "+interface+" | grep 'inet ' | cut -d 't' -f 2 |cut -d ' ' -f 1",shell=True).strip()
prefix = ip.split(".")[] + '.' + ip.split(".")[] + '.' + ip.split(".")[] + '.' for addr in range(,):
answer=sr1(ARP(pdst=prefix+str(addr)),timeout=0.1,verbose=)
if answer ==None:
pass;
else:
print prefix+str(addr)
然后:
chmod u+x arp1.py
./arp1.py
我第一次运行时候出错,因为是从win10系统复制过来的脚本
这里会报错:/usr/bin/python^M: 解释器错误: 没有那个文件或目录
解决方式:
vi arp1.py
:set fileformat=unix
:wq
再次
./arp1.py
即可

这里发现两个收到回报的ip
可以增强下这个脚本:
指定文件扫描
arp2.py:
#!/usr/bin/python import logging
import subprocess
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
from scapy.all import* if len( sys.argv ) !=2:
print "Usage - ./arp_discpy [interface]"
print "Example - ./arp_disc.py eth0"
print "Example will perform an ARP scan of thr local subnet to which eth0 is assigned"
sys.exit() filename = str(sys.argv[1])
file = open(filename,"r") for addr in file:
answer=sr1(ARP(pdst=addr.strip()),timeout=0.1,verbose=0)
if answer == None:
pass
else:
print addr.strip()
还需要在当前目录下创建一个文本记录数据:我这里象征性写几个,实际情况不是如此
adds
192.168.87.1
192.168.87.2
192.168.87.3
192.168.87.4
192.168.87.5
192.168.87.6
192.168.87.7
好了,现在运行这个脚本试试:

最后:二层发现的用途:
二层发现用于我们已经控制了目标的一台主机,想要探测目标主机子网下的其他主机
Kali学习笔记6:二层发现的更多相关文章
- Kali学习笔记21:缓冲区溢出实验(漏洞发现)
上一篇文章,我已经做好了缓冲区溢出实验的准备工作: https://www.cnblogs.com/xuyiqing/p/9835561.html 下面就是Kali虚拟机对缓冲区溢出的测试: 已经知道 ...
- Kali学习笔记8:四层发现
1.基于TCP协议 优点: 1.可路由且结果可靠 2.不太可能会被防火墙过滤 3.甚至可以发现端口 缺点: 速度较慢(三次握手) 利用Scapy发送ACK数据包: 配置数据包: 发送数据包: 看一下收 ...
- Kali学习笔记7:三层发现
三层发现:发送ICMP/IP数据包探测 第一种方式: 就是很简单的Ping命令: 不过linux的ping命令和windows的ping命令不一样,它会默认不停止地发数据包 我们可以通过-c参数来设置 ...
- Kali学习笔记31:目录遍历漏洞、文件包含漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 目录遍历漏洞: 应用程序如果有操作文件的功能,限制不严 ...
- Kali学习笔记30:身份认证与命令执行漏洞
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...
- Kali学习笔记27:Burpsuite(上)
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 如果我只能选择一款工具进行Web渗透,那么一定就是Bu ...
- Kali学习笔记26:OWASP_ZAP
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 OWASP_ZAP扫描器不同于之前介绍的Web扫描器: ...
- Kali学习笔记24:Nikto、Skipfish
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器IP:192.168.163. ...
- Kali学习笔记4:Wireshark详细使用方法
Kali Linux自带Wireshark工具使用介绍: 1.进入界面 这里Lua脚本报错,无需关注 开始使用: 双击第一个eth0:以太网0,开始抓包: 点击上边的这个按钮可以设置: 这里注意:需要 ...
随机推荐
- webuploader在ie9以下失效原因
在项目中为了兼容ie9,使用webuploader插件,发现在部分电脑的ie9模式下点击无响应,排查原因,最终发现是不是插件有问题,而是ie浏览器没有flash的加载项,最终下载flash,并安装运行 ...
- 谷歌搜索技巧(转)https://www.runningcheese.com/google
原文地址: Google是一个非常精密成熟的搜索引擎,其搜索结果的丰富性和准确度较其他搜索引擎都要好,但大多数用户都还只是停留在搜索框中输入一两个关键字,然后点击“搜索”按钮的阶段,这一过程是非常低效 ...
- 使用串口安装centos操作系统
https://linuxconfig.org/how-to-force-text-mode-installation-of-redhat-linux https://www.centos.org/f ...
- 上传到HDFS上的文件遇到乱码问题
1.通过eclipse中的hdfs插件上传文件,上传成功,但是查看是乱码. 查阅文件本身的编码方式,发现是utf-8,同时文件在项目目录下,显示正常,因为我把它的编码格式也设成了utf-8. 2.通过 ...
- jmeter用Windows电脑分布式部署
当然,java环境.jmeter安装我这里就不说了. 使用1个controller(imac电脑),2个agent(Windows7 系统) 一.agent配置(Windows7系统) 1.电脑环境变 ...
- 【Linux】vim的使用
使用vi和vim的原因:linux很多软件默认调用vi进行编辑,因此有必要熟悉它的使用规则 vi: 打开文件: vi 文件名 [一般模式]打开文件时进入一般模式,这个模式下的操作: 上下左右移动光标 ...
- OPENCV中特征提取和匹配的步骤
1.定义特征提取器和描述子提取器: cv::Ptr<cv::FeatureDetector> detector; cv::Ptr<cv::DescriptorExtractor> ...
- 地磁应用中的低功耗无线数传模块xbee PRO S2C
地球上每一个地理坐标点,在一段时间内磁场强度是恒定的,当车辆这种铁磁物质经过这个点时,对这个点的磁场强度产生一个连续的扰动,通过磁传感器采样数据与初始采样数据(该点的地球磁场值)进行对比,其差值为车辆 ...
- AIX X11卡顿严重
在AIX上安装数据库,使用xshell开启dbca,发现卡顿严重,数据包也时断时续,排除掉网络问题,发现字符集采用的是中文,发现ftp服务业异常,将字符集修改成英语,重启机器,问题解决: 修改如下: ...
- 注入Shellcode并运行攻击
注入Shellcode并运行攻击 一.实验步骤 1.安装execstack并修改设置 安装execstack apt-get install execstack 设置堆栈可执行 execstack - ...