Шрифты настроены в параметрах настройки системы, не в /etc
.
Btw. Ваша проблема мог бы на самом деле быть настроенный мисс DPI. Просто вызовите DPI к 96.
Сценарий сканирует каждый IP только однажды. Сканирование происходит в фоновом режиме (&
). Вниз IP занимает время для ответа, вот почему о них сообщают позже.
Вы ищете nmap.
# nmap -sP 10.1.150.1-10
Starting Nmap 5.00 ( http://nmap.org ) at 2012-01-04 00:02 CET
Host foo.example.com (10.1.150.2) is up (0.00066s latency).
Host bar.example.com (10.1.150.7) is up (0.00066s latency).
Nmap done: 10 IP addresses (1 host up) scanned in 1.41 seconds
проверьте с помощью ping-запросов повторения для неответа на узлы, который добавляет к задержке в сообщении доступности узлов к консольному выводу, в то время как об узлах онлайн, которым отвечают, сообщают сразу назад. ping имеет этот недостаток, что необходимо выполнить его для каждого хоста.
Используйте fping, лучшую альтернативу ping, который может сделать, параллельный ping на хостах, источник доступен в SourceForge http://fping.sourceforge.net/. Загрузите fping и установите его под/usr/local/sbin и сделайте его suid.
Вот пример жемчуга, который может сообщить о недостижимых узлах в конце, в то время как об узлах, которые онлайн, сообщают с их названиями DNS, можно передать вывод этого сценария к инструментам такой как grep
или awk
снова работать над желаемым выводом.
#!/usr/bin/perl
require 'open2.pl';
use Net::IP;
$pid = &open2("OUTPUT","INPUT","/usr/local/sbin/fping -d");
@check=();
my $ip = new Net::IP ('98.137.149.56 - 98.137.149.100') || die "Unable to generate range\n";
do {
push (@check, $ip->ip());
} while (++$ip);
foreach(@check) { print INPUT "$_\n"; }
close(INPUT);
while(<OUTPUT>) {
print "$_";
}
close(OUTPUT);
Если Вы хотите сохранить порядок, необходимо перенаправить вывод не к stdout, но в файлы. После того, как все ping сделаны, сделайте a wait
ожидать последнего фонового процесса для окончания. Затем кошка файлы результата в "правильном" порядке.
добавление -w
к ping
позволит сделать процесс намного быстрее.
#!/bin/bash
is_alive_ping()
{
ping -c 1 -w 1 $1 > /dev/null
[ $? -eq 0 ] && echo $i ,Alive
}
for i in 192.168.213.{1..254}
do
is_alive_ping $i &
done
&
(как я также упомянул): фоновая подоболочка. – choroba 03.01.2012, 18:27