Kali学习笔记7:三层发现
三层发现:发送ICMP/IP数据包探测
第一种方式:
就是很简单的Ping命令:

不过linux的ping命令和windows的ping命令不一样,它会默认不停止地发数据包
我们可以通过-c参数来设置
第二种方式:
traceroute命令:

这里会显示所有路由跳过的IP,***说明被防火墙阻挡了(通常防火墙默认阻挡ICMP数据包)。
实现原理是基于TTL值的改变
我们发现基本无法获得有用的信息,所以这种方式不推荐
Linux的ping命令还有参数-R可以设置:可以实现路由追踪
接下来我们可以写一个脚本来做三层发现:
#!/bin/bash
if [ "$#" -ne ];then
echo "Usage - ./ping [interface]"
echo "Excample - ./ping 192.168.1.0"
exit
fi prefix=$(echo $ | cut -d '.' -f -) for addr in $(seq );do
ping -c $prefix.$addr | grep "bytes from" | cut -d " " -f | cut -d ":" -f &
done
如果是从windows系统复制过来的脚本
注意:
vi ping
:set fileformat=unix
赋予执行权限:
chmod u+x ping
执行脚本即可:

效果不错,找到了我局域网中存活的ip
接下来利用强大的Scapy工具:
这种方式通常没有任何效果,原因:
防火墙阻挡ICMP数据包,这里基本不会有所发现
脚本:
pinger1.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 - ./pingger.py [/24 network address]"
print "Example - ./pinger.py 172.16.36.0"
print "Example will perform an ICMP scan of the 192.168.1.0/24 range"
sys.exit() address = str(sys.argv[]) prefix = address.split(".")[] + '.' + address.split(".")[] + '.' + address.split(".")[] + '.' for addr in range(,):
answer=sr1(IP(dst=prefix+str(addr))/ICMP(),timeout=0.1,verbose=)
if answer ==None:
pass;
else:
print prefix+str(addr)
扫描已存在文件中的ip:
pinger2.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 - ./pingger.py [/24 network address]"
print "Example - ./pinger.py 172.16.36.0"
print "Example will perform an ICMP scan of the 192.168.1.0/24 range"
sys.exit() filename = str(sys.argv[])
file=open(filename,"r") for addr in file:
answer=sr1(IP(dst=addr.strip())/ICMP(),timeout=0.1,verbose=)
if answer ==None:
pass;
else:
print addr.strip()
第三种方式:Nmap(推荐,这个工具很强大)
nmap中-sn参数可以探测目标ip是否活着:

第四种方式:fping命令(ping命令的加强版)
可以对地址段Ping

后边输出的是一堆unreachable的报告,原因是防火墙阻挡ICMP数据包:

第五种方式:hping命令
hping命令很强大,这里只用其中一部分功能:
我分别给存在的ip和不存在的ip发送:结果不同

当然,也可以写成hping脚本
Kali学习笔记7:三层发现的更多相关文章
- Kali学习笔记21:缓冲区溢出实验(漏洞发现)
上一篇文章,我已经做好了缓冲区溢出实验的准备工作: https://www.cnblogs.com/xuyiqing/p/9835561.html 下面就是Kali虚拟机对缓冲区溢出的测试: 已经知道 ...
- Kali学习笔记8:四层发现
1.基于TCP协议 优点: 1.可路由且结果可靠 2.不太可能会被防火墙过滤 3.甚至可以发现端口 缺点: 速度较慢(三次握手) 利用Scapy发送ACK数据包: 配置数据包: 发送数据包: 看一下收 ...
- Kali学习笔记6:二层发现
先介绍下ARPING命令: arping命令是用于发送ARP请求到一个相邻主机的工具 arping使用arp数据包,通过PING命令检查设备上的硬件地址.能够测试一个IP地址是否是在网络上已经被使用, ...
- 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,开始抓包: 点击上边的这个按钮可以设置: 这里注意:需要 ...
随机推荐
- dubbo知识体系
Dubbo负载均衡 Random随机/ RoundRobin轮询/ LeastActive最少Dubbo缓存Dubbo集群容错 Dubbo回调 服务分组: group Dubbo异步调用 <du ...
- 9.Redis高可用-哨兵
9.Redis高可用-哨兵9.1 基本概念9.1.1 主从复制的问题9.1.2 高可用9.1.3 Redis Sentinel的高可用性9.2 安装和部署9.2.1 部署拓扑结构9.2.2 部署Red ...
- docker-3 Apache
docker 安装 Apache 环境 docker pull httpd 文件创建连接(这样就可以不用发布了,两个文件夹会自动同步文件) ln -s /root/jenkins_home/works ...
- vscode和gitee的使用
1.安装git 2.生成公钥 $ ssh-keygen -t rsa -C "youremail@youremail.com" # Generating public/privat ...
- h5页面转图片长按保存
5页面经常会遇到此类需求.将最后的结果页转换为图片长按保存.下面介绍一下实现此需求的过程 1,依赖安装 cnpm install html2canvas --save 2,依赖引入,使用 绑定 初始化 ...
- 《探索未知种族之osg类生物》目录
精力有限,博客园不在更新<探索未知种族之osg类生物>.在这里列出所有文章目录(持续更新)有兴趣的同学可以看看. 探索未知种族之osg类生物[目录] 前序 探索未知种族之osg类生物--- ...
- UVa540
//先输入队伍的个数 //用map建立数组将队伍序号和个人序号相互对应 //三条命令 #include <bits/stdc++.h> using namespace std; ; int ...
- GUI学习之五——QAbstractButton类学习笔记
今天总结一下AbstractButton类的学习笔记. 一.描述 AbstractButton是对各种按键的抽象类他的继承关系是这样的 首先,QAbstractButton继承了QWidget类的各种 ...
- Clinet/Server在工作线程中刷新页面数据的方法
Worker线程不能修改UI线程的状态(比如文本框里面的内容).解决的办法是写一个用来更新文本框内容的函数,然后在Worker线程里面通过BeginInvoke来利用delegate调用这个函数更新文 ...
- 查看Chrome密码只需一段代码
在Chrome浏览器的地址栏里输入“ chrome://chrome/settings/passwords ”,然后Chrome自动帮你保存的密码就会瞬间被曝露出来. 强调一下,只要不是在本机上输入以 ...