Shell常用命令之主機檢測(ping)


主機檢測命令ping

  向網絡主機發送ICMP回傳請求

 

常用選項

-A:洪水攻擊選項,啟用此功能能在短時間之內發送大量的ping包
-b:開啟ping網橋模式,默認不允許ping網橋
-c:設置發送多少個包
-D:設置ping的時間戳(很少用,暫未發現其作用)
-i:設置每一個包的間隔時間,只有超戶能使用此選項(用過最小的值0.01
-I:設定源地址ping目的地址,源地址必須配置在網卡接口之上
-l:設置初次ping的時候同時能發送多少icmp包過去(用的也少,具體場景沒找到) -r:直接繞過路由表(也沒找到具體的場景,不知道是不是檢測線路用的) -s:指定每次icmp包的大小,默認是56字節和8個icmp的頭部包 -t:設置ttl值(ttl是數據包經過多重路由時,最大支持的路由節點數,每次經過一個路由,ttl值都會減少1,主要用來檢測路由經過的節點) -w:指定超時時間,如:-w 10則ping只能執行10秒鍾 -W:等待響應的時間,以秒計,該選項僅在沒有任何響應的情況下影響超時。

 

指定源ip進行ping操作

 

ping -I 192.168.1.88 192.168.9.1
# 192.168.1.88:是本地源地址,配置在以太網接口之上
# 192.168.9.1:是目的地址

 

 

24位掩碼局域網主機存活檢測

#!/bin/bash -
red="\e[31m"
shutdown="\e[0m"
green="\e[32m"
for ip in {1..254}
 do
  ping -c 1 -W1 -w 0.1 192.168.1.${ip} &> /dev/null 
  if [ $? -eq 0 ]
   then
    echo -e "${green}"192.168.1.${ip}${shutdown}" is running."
   else
    echo -e "${red}"192.168.1.${ip}${shutdown}" is stop."
  fi
done

 

16位局域網主機存活檢測

#!/bin/bash -
red="\e[31m"
shutdown="\e[0m"
green="\e[32m"
for IP in {0..254}
  do
    for ip in {1..254}
      do
      ping -c1 -W1 -w 0.1 192.168.$IP.$ip &> /dev/null
        if [ $? -eq 0 ]
          then
            echo -e "${green}"192.168.$IP.${ip}${shutdown}" is running."
          else
            echo -e "${red}"192.168.$IP.${ip}${shutdown}" is stop."
        fi
      done
  done

 

端口檢測腳本

#!/bin/bash -
shutdown="\e[0m"
green="\e[32m"
for ip in {1..254}
 do
  ping -c 1 -W1 -w 0.1 192.168.1.${ip} &> /dev/null 
  if [ $? -eq 0 ]
   then
    echo -e "${green}#################################################${shutdown}"
    echo "Host 192.168.1.${ip} runs on the following ports. "
    nmap 192.168.1.$ip | sed -n '/^PORT/,/^MAC/p'| sed -n '/^[0-9]/p'
    echo -e "\e[34m#################################################${shutdown}"
    echo ""
  fi
done

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM