【KALI使用】16 主动信息收集——三层发现()

只是记录
学习笔记
参考:这个

OSI七层模型和TCP/IP五层模型

在这里插入图片描述

各层优点缺点

速度 可靠性 路由? 过滤 协议
二层 可靠 不可路由
三层(网络层 比二层慢 可路由 经常被边界的防火墙过滤 IP、icmp协议
四层 全端口扫描慢 可靠 可路由 不太可能被防火墙过滤,可以发现所有端口都被过滤的主机

三层发现

  • 原理:使用IP/ICMP;
  • 优点:相对于二层可以路由,速度较快;
  • 缺点:速度比二层慢,经常被防火墙过滤掉;
  • 理论上可以探测所有主机,前提是主机接受发的icmp数据包

一、Ping

  • ICMP报头的Type字段一共有0 ~ 15个定义,每种定义表示不同的包的类型,用途也不一样。
  • ping 包发出的是Type 8类型的数据包,而接收到ping包的机器,如果没有防火墙过滤的话,正常ping包响应会返回一个Type 0类型的数据包。
  • Linux和Windows发出的ping包不同,Windows系统默认发4个ping包就结束,而Linux会一直发ping包,直到Ctrl+C结束,或者 -c 指定发包数量。
    ping -R #可以路由追踪

ping 192.168
# ping目标主机,会一直ping下去,按CTRL + C 可暂停;

ping 192.168. -c  2
# 使用-c参数,指定屏的次数;

-ping 192.168. -c | grep ‘bytes from’ | awk{
    
    print $4}| awk -F’:’ '{print $1}'
# ping成功后,切去目标主机的IP地址;

使用shell脚本,ping这个网段

#!/bin/bash
prefix=192.168.98
for addr in $(seq 1 254)
do
	ping -c 1 $prefix.$addr | grep 'bytes from' | cut -d' ' -f4 | cut -d':' -f1
done

在这里插入图片描述

二、traceroute —— 追踪路由

当前主机到目标主机间经过很多网络设备
不但可以发现目标主机是否在线,还可以发现其经过多少跳路由

root@kali:~# traceroute sina.com
traceroute to sina.com (66.102.251.33), 30 hops max, 60 byte packets
 1  192.168.85.2 (192.168.85.2)  5.104 ms  4.883 ms  4.581 ms          #其中192.168.85.2为网关
 2  * * *
 3  * * *
 4  * * *
 5  * * *

30  * * *    //边界或网络路由设备会屏蔽ICMP协议

三、scapy

先定义一个IP()包头,再定义一个ICMP包头,最后组合成一个ping包


>>> i=IP()            //定义i变量 调用IP函数
>>> p=ICMP()
>>> ping=(i/p)       //把IP包和ICMP包组合成ping包
>>> ping.display()   //查看包头结构

在这里插入图片描述


ping[IP].dst="192.168.98.2"     //设置目标IP
ping.display()

在这里插入图片描述


a=sr1(ping)                     //发包,用a接收响应包
a.display()

Guess you like

Origin blog.csdn.net/grb819/article/details/120538415