Linux检测内网在线的主机

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yzpbright/article/details/81368458

方法一:写一个shell脚本,循环ping网段内的每一个ip

编辑并保存getAllHosts.sh脚本,内容是:

#!/bin/bash
NETWORK=$1
for HOST in $(seq 1 254)
do
    ping -c 1 -w 1 $NETWORK.$HOST &>/dev/null && result=0 || result=1
        if [ "$result" == 0 ];then
            echo -e "\033[32;1m$NETWORK.$HOST is up! \033[0m"
        #echo "$NETWORK.$HOST" >> /home/y/AllHosts_up.txt
        else
            echo -e "\033[;31m$NETWORK.$HOST is down!\033[0m"
        #echo "$NETWORK.$HOST" >> /home/y/AllHosts_down.txt
    fi
done

用法:sh getAllHosts.sh <网段>,如:

y@ubuntu:~$ sh  getAllHosts.sh 172.16.247

方法二:用nmap工具包扫描

namp是Linux下的网络扫描和嗅探工具包,可用于扫描网上电脑开放的网络连接端口

如:

y@ubuntu:~$ nmap -sT  172.16.247.0/24

Starting Nmap 7.60 ( https://nmap.org ) at 2018-08-02 07:20 PDT
Nmap scan report for _gateway (172.16.247.2)
Host is up (0.0036s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
53/tcp open  domain

Nmap scan report for ubuntu (172.16.247.138)
Host is up (0.0013s latency).
All 1000 scanned ports on ubuntu (172.16.247.138) are closed

Nmap done: 256 IP addresses (2 hosts up) scanned in 2.63 seconds

可以看到,根据nmap扫描报告,找到2台主机,一台是172.16.247.2(是网关),另一台是172.16.247.138(是本机自己),最后提示共扫描了256个ip地址,2台主机是在线状态。

参考:
shell脚本实现批量测试局域网主机是否在线
检测局域网内主机存活脚本

展开阅读全文

关于内网检测存活主机

08-25

马上要做毕业设计了。我想用redhat做一个防火墙来管理内网中的计算机rnrn拓扑图如下rnrnrn 防火墙rn |rnrn |rn ———————————————————————rn | | |rn 交换机1 交换机2 交换机3rn | | |rn ———— ——————————— —————— rn | | | | | | | | | |rn PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10rnrnrn我想写一个程序来获取内网中存活的计算机。rn我自己想了几个方案,还有chinaunix社区的朋友也给我指导了一些。rn1 发送tcp包或者icmp包对存活的主机进行扫描。但我觉得无论是程序实现还是效果都不理想。rn(1)我使用libnet开辟两个线程来完成发包和收包。速度很慢。有防火墙的计算机会丢弃我的数据包。达不到我所想要的目的rn(2)使用libdnet做路由器操作。由于我对防火墙方面不熟悉,这里也不敢确定什么。但我觉得操控路由表也只是能现实出连接到防火墙上的交换机。(这里我不知道对不对,请各位前辈扶正。)rn(3)使用libdnet操作ARP缓存列表。rn这里我是这样想的。我每次想查询存活主机先清空ARP表。然后在操作ARP表。在终端中显示出ARP列表。这样是不是可以达到检测存活主机!rn当然chinaunix的前辈建议我使用snmp。我觉得我第二方案和第三方案都是通过snmp来实现的!rnrn问题总结rn1: 首先除我以上的方案,有没有更好的方法。rn2: 在我的拓扑结构下是否可以通过libdnet操作arp缓存&路由表来实现我的目的rn3: 请各位给我一些类似的文档。snmp甚好!rnrn谢谢各位前辈花时间看的问题。希望你们能给我一些帮助!分不够我再加! 论坛

没有更多推荐了,返回首页