700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 用shell脚本编写一个局域网扫描工具

用shell脚本编写一个局域网扫描工具

时间:2022-09-03 12:26:39

相关推荐

用shell脚本编写一个局域网扫描工具

局域网扫描工具

文章目录

局域网扫描工具1. ping2. 全部ping一遍,然后再去看arp缓存表3. 修改虚拟机的网卡类型为桥接4. 需求分析

如何知道整个局域网里有哪些ip地址在使用?哪些没有使用?使用的ip地址需要记录到一个文件里,没有使用的也需要记录到一个文件里,p以及这些ip地址对应的mac地址也需要保存到一个文件里。

1. ping

检测网络是否联通

能ping通,就认为这个IP地址在使用

ping的过程

A先拿自己的ip地址和子网掩码进行与运算得到网段号192.168.50.0(192.168.50.1 与 255.255.255.0)

A拿B主机的IP地址和自己的子网掩码进行与运算也会得到一个网段号:192.158.50.0(192.168.50.2 与 255.255.255.0)

如果两个网段号一样,说明A和B主机是相同网段的,然后B主机会查询自己的路由表,发现自己的路由表里有一条直接连接的路由,认为自己可以到达。

如果两个网段号不一样,说明A和C不是相同网段,然后A主机会查询自己的路由表,如果我们没有配置默认路由,就不会发ping包,A主机会告诉我们无法到达C主机。

如果配置了默认路由(网关),A主机会查询路由表,得到网关的mac地址,然后发arp广播得到网关ip对应的mac地址。

然后马上会发arp广播,得到对方的ip192.168.50.2的mac地址,最后封装帧格式,填上对方的mac地址。

2. 全部ping一遍,然后再去看arp缓存表

arp -a

3. 修改虚拟机的网卡类型为桥接

虚拟机网络的3种模式:

1、桥接模式 bridge --》 vmnet0

有线网卡还是无线网卡 ,自己定义

其实就是VMware这个虚拟机软件,它模拟了一个虚拟的交换机,将真实机器和虚拟机连接起来。

我们的虚拟机可以使用真实机器所在的网段的路由器上网,虚拟机和真实机的地位是平等的。

2、NAT模式 --》vmnet8

network address transfer:实现内网的ip和外网的IP之间进行转换

NAT模式里的真实机器和虚拟机通信是使用vmnet8这个接口和虚拟机通信的,因为它们是同一个网段,连接同到一个交换机。

路由器会将主机的源地址改为自己的源地址再发给目的地址,因此目的地址不知道源主机是哪个。内网的虚拟机可以访问外网,但是外网的机器不能访问内网。因为外网的机器没有内网的路由。可以隐藏内部网络

3、hostonly 仅主机模式 ——》vmnet1

虚拟机只能和自己的真实机器通信,不能和别的机器通信(默认情况下)

4. 需求分析

1、给脚本scan_lan.sh
串行:按照顺序一个一个的执行,前面执行完了,才能执行后面并行:同时执行——》效率高并发:一段时间内很多的进程同时执行——》看起来像同时运行了

父进程与子进程:

(命令)&——》启用一个子bash去执行小圆括号里的命令,并且在后台运行wait:让父进程等待子进程,所有的子进程执行完成了,再退出父进程 父进程如果退出,会给所有的子进程发出hup信号,收到hup信号的进程会被内核kill掉

wc——统计命令

-l统计行数

awk——截取命令

​ print $2就是截取一行中的第2个字段

grep——文本过滤命令

-v取反

tr——文本转换命令

-d删除

,再退出父进程

父进程如果退出,会给所有的子进程发出hup信号,收到hup信号的进程会被内核kill掉

wc——统计命令

-l统计行数

awk——截取命令

​ print $2就是截取一行中的第2个字段

grep——文本过滤命令

-v取反

tr——文本转换命令

-d删除

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。