之前写过一个简单的脚本检测当前网段中主机状态的脚本,内容如下:

#! /bin/bash
#ping check host status trap "exit" 2
sping() {
  ping -c 1 -W 1 192.168.214.$1 &> /dev/null
   if [ $? -eq 0  ]; then
        echo "192.168.214.$1 up!"
   else
        echo "192.168.214.$1 down!"
   fi
}
for IP in {1..255}; do
  sping $IP
done

执行的时候耗时太长,效果很差,因为在循环里ping指令要执行几百次,而且ping检测执行的过程本身就比较慢,所有整个脚本执行结束需要很长的时间。

可以通过另一种工具来检测主机状态。那就是 nmap,它的执行效率非常高。

nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包,nmap几乎是黑客的必备工具了,

nmap基本功能有三个,一是探测一组主机是否在线;其次是扫描 主机端口,嗅探所提供的网络服务;还可以推断主机所用的操作系统 。

nmap的简单使用方法:

  • nmap -sP :(Ping扫描)

该选项告诉nmap仅仅 进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。 没有进一步的测试 (如端口扫描或者操作系统探测)。系统管理员往往也很喜欢这个选项。 它可以很方便地得出 网络上有多少机器正在运行或者监视服务器是否正常运行。常常有人称它为 地毯式ping,它比ping广播地址更可靠,因为许多主机对广播请求不响应

  eg:

[root@yufu sh]# nmap -sP 192.168.214.0/

Starting Nmap 5.51 ( http://nmap.org ) at 2018-03-31 03:52 CST
Nmap scan report for 192.168.214.1
Host is up (.00052s latency).
MAC Address: :::C0:: (VMware)
Nmap scan report for 192.168.214.2
Host is up (.00024s latency).
MAC Address: :::E8::5C (VMware)
Nmap scan report for 192.168.214.187
Host is up.
Nmap scan report for 192.168.214.190
Host is up (.00051s latency).
MAC Address: :0C::8A:DC: (VMware)
Nmap scan report for 192.168.214.254
Host is up (.00060s latency).
MAC Address: :::EE:D2: (VMware)
Nmap done: IP addresses ( hosts up) scanned in 11.98 seconds

nmap是一个非常强大的工具,它的功能有很多:比如端口扫描,操作系统探测,服务探测等,这里只针对主机探测功能做理解,其他功能留待以后慢慢研究。

linux主机状态检测方式的更多相关文章

  1. linux系统状态检测命令

    1.ifconfig命令 ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”. 使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时 ...

  2. Linux 系统状态检测命令

    介绍快速查看Linux系统运行状态的能力(网络网卡.系统内核.系统负载.内存使用情况.启用终端数量.历史登录记录.命令执行记录.救援诊断)等命令使用方法 1.ifconfig  用于获取网卡配置和网络 ...

  3. Linux | 系统状态检测

    ifconfig ifconfig 命令用于获取网卡配置与网络状态等信息,格式 ifconfig[网络设备][参数] 使用 ifconfig 命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查 ...

  4. Linux系统状态检测

    基于Red Hat Enterprise Linux 7.5 1.ifconfig ifconfig用于获取和配置网络接口的网络参数,格式为“ifconfig [网络设备] [参数]” 参数: add ...

  5. Linux主机入侵检测

    检查系统信息.用户账号信息 ● 操作系统信息 cat /proc/version 用户信息 用户信息文件 /etc/passwd root:x:0:0:root:/root:/bin/bash 用户名 ...

  6. Linux - Port 端口检测方式

    ss 和 netstat 区别 netstat是遍历/proc下面每个PID目录: ss直接读/proc/net下面的统计信息. 所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多 ne ...

  7. Linux分享笔记:系统状态检测命令小结

    作为一名合格的运维人员,要能很好地了解Linux服务器,要能熟练查看Linux系统的运行状态.以下是常用到的Linux系统状态检测命令. 1. ifconfig:用于获取网卡配置与网络状态等信息.通常 ...

  8. linux7下修改主机名的方式

    在基于linux发行版的众多linux kernel 3.0以上,包括rhel7,centos7等提供多种修改linux主机名的方式 1.通过编辑/etc/hostname文件 2.命令hostnam ...

  9. 批量ping 检测linux主机是否可以通

    批量ping 检测linux主机是否可以通 # 1.配置列表 [root@db137 liweiwie]# cat /home/dbatlbb/script/liweiwie/ping_ip.txt ...

随机推荐

  1. (反NIM)

    题目大意是和普通的NIM游戏一样,但是却是取到最后一个是输的,天真的以为就是反过来,其实并不是这样的 结论 先手必胜的条件为 ①:所有堆的石子数均=1,且有偶数堆. ②:至少有一个堆的石子数>1 ...

  2. 纯干货:Linux抓包命令集锦

    /******************************************************************************************* 版权声明* 本 ...

  3. Git 2016视频教程

    http://blog.csdn.net/biggbang/article/details/50830331

  4. Java 中常用的数据源

    数据源:存储了所有建立数据库连接的信息.就象通过指定文件名你可以在文件系统中找到文件一样,通过提供正确的数据源名称,你可以找到相应的数据库连接. 1.JNDI方式创建DataSource 1.1 配置 ...

  5. 《从0到1学习Flink》—— 介绍Flink中的Stream Windows

    前言 目前有许多数据分析的场景从批处理到流处理的演变, 虽然可以将批处理作为流处理的特殊情况来处理,但是分析无穷集的流数据通常需要思维方式的转变并且具有其自己的术语(例如,"windowin ...

  6. 基于FCM的消息推送功能

    需求背景 我方项目需要支持客户端消息推送,iOS终端可以借由苹果本身的apns很方便的实现,但是对于Android来说,必须集成第三方的SDK来处理.考虑到项目需要以及成本,我们选择使用谷歌的FCM框 ...

  7. spring boot整合redis,以及设置缓存过期时间

    spring-boot 整合 redis 注:redis服务器要先开启 pom文件: <dependency> <groupId>org.springframework.boo ...

  8. hibernate课程 初探单表映射3-4 组件属性

    本节内容: 1 简介组件属性 2 demo 1 简介组件属性: <component name = "address" class = "Address" ...

  9. How to Install Apache Solr 4.5 on CentOS 6.4

    By Shay Anderson on October 2013 Knowledge Base  /  Linux  /  How to Install Apache Solr 4.5 on Cent ...

  10. SpringBoot的日志管理

    SpringBoot的日志管理 SpringBoot关于日志的官方文档 1.简述 SpringBoot官方文档关于日志的整体说明 本博客基于SpringBoot_1.3.6大家请先简单看下这篇英文的官 ...