最近跑代码需要用组里的服务器,一直是通过ssh连接的。但一旦实验室断电,重启服务器后动态分配IP就会导致我需要重新配置ssh的地址。每次都麻烦师姐帮我查一下也不是很方便,于是想自己找个办法扫一下局域网内的主机,记下服务器的MAC地址,以后就可以自己找了。
理论基础
IntelNIC将IP地址分成五类:
A类保留给ZF或者大型企业,第一位总是0,如10.0.0.1==00001010-00000000-00000000-00000001==》1.0.0.0-127.255.255.255,默认子网掩码为255.0.0.0,最多可容纳16777215台计算机。
B类地址的前两位总是10,如,172.16.0.1==10101100-00010000-00000000-00000001
==》128.0.0.0-191.255.255.255,默认子网掩码为255.255.0.0,最多可容纳65535台计算机。
C类地址的前三位总是110。如,192.168.0.1==11000000-10101000-00000000-00000001
==》192.0.0.0-223.255.255.255,默认子网掩码是255.255.255.0,最多可容纳254台计算机。
D类用于组播,
E类用于实验,
注:各类可容纳的地址数目不同。
IP地址中保留地址:主机部分全为0的IP地址保留用于网络地址,主机部分全为1的IP地址保留为广播地址,224-255部分保留作为组播和实验地址。同时注意IP地址分配时不能使用最末位为0和255的地址,因为这是广播地址,普通计算机不能使用,但可用于网关和路由器上。
IP地址中专用地址:就是我们在三类地址中常见的内网IP段。
10.0.0.0--10.255.255.255
172.16.0.0--172.31.255.255
192.168.0.0--192.168.255.255
内网的计算机以NAT(网络地址转换)协议通过一个公共的网关访问Internet。内网的计算机可向Internet上的其他计算机发送链接请求,但Internet上其他计算机无法向内网的计算机发送链接请求。
1、下载nmap。略去不表。
2、扫描一下服务器,记下MAC:B4:2E:99:3F:FB:AA
3、扫描局域网
因为局域网内的主机通信就是直接发送arp广播,然后对方主机用单播的方式把自己的MAC地址记入缓存。所以nmap traceroute展示的就是两个主机之间的直接通信。
3、断电前服务器的IP地址是10.170.27.**, 断电后是10.170.11.**。所以我们要扫描的时候就是得扫描10.170.*.* 一共2^16个地址。
使用-sn代表只进行主机发现而不进行端口扫描。
先扫描nmap -sn 10.170.11.88/24,返回了256个结果。其中10.170.11.88就是我们要的主机。
再扫描10.170.11.88/16,猜测是因为数量太多了,因为它是扫描完统一输出的。 2^8台主机都需要几十秒了,2^16完全就得等到天荒地老。