# -*- coding: utf-8 -*-
import socket
import os
import sys
up_ip =[] #list to store the ip-addresses of server online
for x in range(100): #here range is 0-100. You can change the range according to your comfort
server_ip = '192.168.0.'+ str(x)
print "Trying ,server_ip,... \n"
rep = os.system('ping -c 1 ' + server_ip)
if rep == 0:
up_ip.append(server_ip)
print '*******************Server Is Up****************\n'
else:
print 'server is down \n'
print up_ip
# !/bin/bash
# $1 should be something like "19.62.55"
if [ -z "$1" ]
then
echo "No identify of the network supplied, i.e. 19.62.55"
else
ipAddress=$1
for i in {1..256} ;do
(
{
ping -w 5 $ipAddress.$i ;
result=$(echo $?);
} &> /dev/null
if [ $result = 0 ]; then
echo Successful Ping From : $ipAddress.$i
else
echo Failed Ping From : $ipAddress.$i
fi &);
done
fi
for i in {1..254}; do
echo -n -e "$i \r"
timeout --preserve-status .2 ping -c1 -q 10.0.0.$i &> /dev/null
[ $? -eq 0 ]&&echo 10.0.0.$i is happy to serve to his master!
done # as I am
9条答案
按热度按时间thigvfpy1#
您应该使用NMAP:
ttvkxqim2#
以下(邪恶)代码的运行速度是nmap方法的两倍多
大约需要10秒,其中标准nmap
只需要25秒...
7ajki6be3#
试着这样做,以获得一个独特的列表。
ping -c 5 -b 10.10.0.255 | grep 'bytes from' | awk '{ print $4 }' | sort | uniq
另一种方法(获取实时主机):
fping -ag 192.168.1.0/24
vu8f3i0k4#
尝试这两个命令,亲自了解为什么ARP更快:
ping:
对于$(Seq 1 254)中的IP;执行ping-c 1 10.185.0.$ip>/dev/空;[$?-eq 0]&&ECHO“10.185.0.$IP up”||:;已完成
ARP:
对于$(Seq 1 254)中的IP;执行arp-n 10.185.0.$ip|grep地址;[$?-eq 0]&&ECHO“10.185.0.$IP up”||:;完成
xvw2m8pv5#
这是用于在
192.168.0.0-192.168.0.100
范围内执行ping操作的python代码。你可以根据你的舒适感换成循环。owfi6suc6#
此脚本在Windows上的Git Bash(MINGW64)上运行,并根据ping结果返回一条消息。
r6hnlfcb7#
BSD的
FOR I in$(Seq 1 254);do(ping-C1-W5 192.168.1.$i>/dev/NULL&&ECHO“192.168.1.$I”&);DONE
vbopmzt18#
如果时间很重要(我知道这种感觉):
该命令如下:
如果不存在PC,则返回143,如果存在PC,则返回0,并且只等待0.2秒,因为时间很重要!因此,我现在得去找我丢失的钥匙。
cpjpxq1n9#
我真的很喜欢最初的答复,但它没有给出我想要的顺序。
我只是做了一点不同的事情,效果很好。
对于{int1..int2}中的IP,执行ping-c 1 xxx.$ip|grep“Bytes from”Done