只是记录
学习笔记
参考:这个
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()