三层发现:发送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:三层发现的更多相关文章

  1. Kali学习笔记21:缓冲区溢出实验(漏洞发现)

    上一篇文章,我已经做好了缓冲区溢出实验的准备工作: https://www.cnblogs.com/xuyiqing/p/9835561.html 下面就是Kali虚拟机对缓冲区溢出的测试: 已经知道 ...

  2. Kali学习笔记8:四层发现

    1.基于TCP协议 优点: 1.可路由且结果可靠 2.不太可能会被防火墙过滤 3.甚至可以发现端口 缺点: 速度较慢(三次握手) 利用Scapy发送ACK数据包: 配置数据包: 发送数据包: 看一下收 ...

  3. Kali学习笔记6:二层发现

    先介绍下ARPING命令: arping命令是用于发送ARP请求到一个相邻主机的工具 arping使用arp数据包,通过PING命令检查设备上的硬件地址.能够测试一个IP地址是否是在网络上已经被使用, ...

  4. Kali学习笔记31:目录遍历漏洞、文件包含漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 目录遍历漏洞: 应用程序如果有操作文件的功能,限制不严 ...

  5. Kali学习笔记30:身份认证与命令执行漏洞

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器:192.168.163.13 ...

  6. Kali学习笔记27:Burpsuite(上)

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 如果我只能选择一款工具进行Web渗透,那么一定就是Bu ...

  7. Kali学习笔记26:OWASP_ZAP

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 OWASP_ZAP扫描器不同于之前介绍的Web扫描器: ...

  8. Kali学习笔记24:Nikto、Skipfish

    文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器IP:192.168.163. ...

  9. Kali学习笔记4:Wireshark详细使用方法

    Kali Linux自带Wireshark工具使用介绍: 1.进入界面 这里Lua脚本报错,无需关注 开始使用: 双击第一个eth0:以太网0,开始抓包: 点击上边的这个按钮可以设置: 这里注意:需要 ...

随机推荐

  1. MySQL联接查询算法(NLJ、BNL、BKA、HashJoin)

    一.联接过程介绍 为了后面一些测试案例,我们事先创建了两张表,表数据如下:   1 2 3 4 CREATE TABLE t1 (m1 int, n1 char(1)); CREATE TABLE t ...

  2. 基于角色的访问控制 (RBAC)权限管理

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  3. linux 学习之路:mkdir命令使用

    linux mkdir 命令 在当前目录下创建文件夹,当前账号需要保证目录下有写到权限. 1.命令格式 mkdir[选项]文件名 mkdir  创建目录文件 语法:mkdir [ -m Mode ] ...

  4. android studio 模拟器不能使用的解决方案

    1.安装模拟器的时候 AS提示是 VT -x is disable 进入电脑的 bios 系统设置,怎么进入--> 在开机的时候点击F2(华硕电脑,不同电脑方式不同) --在“configura ...

  5. Mac更改PHP默认目录

    在Mac上搭建了PHP服务器以后,默认的路径为/Library/WebServer/Documents下面,但这让人很不爽,我想修改到自己定义的路径下.经过好一番折腾,终于成功了. PHPEclips ...

  6. clion中配置glfw和glew

    clion中只能用cmake文件配置 最开始不清楚cmake语法走了不少弯路 如果遇到symbol(s) not found for architecture x86_64错误,百分百是cmake没配 ...

  7. 区域检测算法-MSERs

    区域检测算法-MSERs:最大稳定极值区域 参考书籍——<图像局部不变性特征与描述>王永明.王贵锦著 MSER最大极值稳定区域的提取步骤:1.像素点排序   2.极值区域生成   3.稳定 ...

  8. logstash报错 :backtrace=>["org/jruby/RubyIO.java:1457:in `write'", "org/jruby/RubyIO.java:1428:in `write'"

    报错: [2019-04-16T15:54:07,827][FATAL][logstash.runner ] An unexpected error occurred! {:error=>#&l ...

  9. Java整理

    基础篇 1.  面向对象 2.  Java平台 3.  值传递 4.  封装.继承.多态 5.  基本数据类型 6.  Java 装箱和拆箱 7.  String 8.  Java关键字 9.  集合 ...

  10. Codeforces 1120 简要题解

    文章目录 A题 B题 C题 D题 E题 F题 传送门 A题 传送门 题意简述:给你一个mmm个数的数列,现在规定把一个数列的1,2,...,k1,2,...,k1,2,...,k分成第一组,把k+1, ...