700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > shell编程——实现一个局域网扫描工具

shell编程——实现一个局域网扫描工具

时间:2019-11-14 14:06:05

相关推荐

shell编程——实现一个局域网扫描工具

局域网扫描工具是计算机网络里面的,ip地址是每台机器上都需要的一个地址,在网络上与其他机器通信使用,类似于手机号码

想知道哪些ip地址在使用,哪些没有使用?需要记录下来,使用的ip记录到up.txt,没有使用的记录到down.txt

用到的知识介绍:

网络通信的测试工具:ping

[root@www shell]# time ping 192.168.1.2 -c 1 -W 1

-c 发生ping包的数量 count

-W timeout 超时时间

PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.

--- 192.168.1.2 ping statistics ---

1 packets transmitted, 0 received, 100% packet loss, time 0ms

real 0m1.004s

user 0m0.002s

sys 0m0.002s

/dev/null 特殊的文件,任何的内容存放到这个文件里,都会不保存,直接删除

&> 不管是正确的输出还是错误的输出 都重定向到文件里

重定向: 就是将本来应该在屏幕上的输出,重新改变了输出的方向,往文件里输出

重定向可以实现在linux shell帮助保存内容到文件里

> 正确的输出重定向,会覆盖原来文件里的内容

>> 追加输出重定向,不会覆盖原来文件里的内容,只会在文件的末尾追加

[root@www shell]# time ping 192.168.1.2 -c 1 -W 1 &>/dev/null 不想看到ping命令的输出,也不保存

串行:按照顺序执行

并行: 同时执行

shell编程里的多进程思想

把ping命令可以同时由很多个进程去执行,加快速度

具体代码实现:

#!/bin/bash#清空文件的内容>up.txt>down.txt#扫描192.168.1.1~254的ipfor i in {1..254}do( if ping -c 1 -W 1 192.168.1.$i &>/dev/null ;thenecho "192.168.1.$i up"|tee -a up.txtelseecho "192.168.1.$i down" echo "192.168.1.$i" >>down.txtfi )&donewait

(命令)& 启动一个子进程到后台去执行命令

wait 是父进程等待所有的子进程执行完毕,再退出

如果不执行wait,父进程执行完毕后,操作系统会将所有的子进程杀死

总结:

1.for循环

2.if判断

3.ping

4.重定向

>

>>

&>

5.父进程和子进程 wait

6.多进程

7.黑洞文件 /dev/null

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