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,开始抓包: 点击上边的这个按钮可以设置: 这里注意:需要 ...
随机推荐
- js处理日期
/Date(-62135596800000)/ 如何用js转化为日期时间格式 2015-11-20 14:33:20像这样 var a = '/Date(-62135596800000)/' Date ...
- python爬虫工具集合
python爬虫工具集合 大家一起来整理吧!强烈建议PR.这是初稿,总是有很多问题,而且考虑不全面,希望大家支持! 源文件 主要针对python3 常用库 urllib Urllib是python提供 ...
- Texture转Texture2D
private Texture2D TextureToTexture2D(Texture texture) { Texture2D texture2D = new Texture2D(texture. ...
- 51ak带你看MYSQL5.7源码4:实现SQL黑名单功能
博客迁移至: https://www.dboop.com/ 从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 申明:个人Python编程很溜,但是C++还停 ...
- Netsharp系列文章目录结构
作者:秋时 转载须说明出处 Netsharp交流群:338963050(请有详细的请求说明) ->. 总体介绍 Netsharp总体介绍 一. Netsharp快速入门系列 Netsharp ...
- 给pdf添加导航目录
给pdf添加导航目录 我们下载pdf书籍经常需要以下导航功能,没有导航的pdf根本看不下,接下来会分享我添加导航的方法 首先需要下载工具软件,链接: http://t.cn/Exyss1G 打开软件, ...
- Maven 的这 7 个问题你思考过没有?
在如今的互联网项目开发当中,特别是Java领域,可以说Maven随处可见.Maven的仓库管理.依赖管理.继承和聚合等特性为项目的构建提供了一整套完善的解决方案,可以说如果你搞不懂Maven,那么一个 ...
- Oracle 中DATE类型的计算
select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,add_months(sysdate,1) f ...
- Spring Boot的Maven配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- redis学习-散列表常用命令(hash)
redis学习-散列表常用命令(hash) hset,hmset:给指定散列表插入一个或者多个键值对 hget,hmget:获取指定散列表一个或者多个键值对的值 hgetall:获取所欲哦键值以及 ...