LINUX.ORG.RU — Русская информация об ОС Linux

[#]  

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Я хочу написать такой скрипт, чтобы он пинговал ip (например от 192.168.1.1 до 192.168.1.255). Если ip не отвечает, то ставим себе этот ip и проверяем скорость соединение с интернетом.Вот написал такое подобие скрипта но оно не работает. Подскажите.
#!/bin/bash
for address
do
{
if ping -c 1 $address >/dev/null 2>&1
then echo "$address is alive"
else {
echo "$address no response";
ifconfig eth1 $address;
wget http://ya.ru;
}
fi
}
done

leon1001 (27.10.2009 18:14:46)
Juick

[#]  

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

И как коррелирует скорость ?

xpahos ** (27.10.2009 18:21:47)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

У меня не работает пока. Может подскажете чем?

leon1001 (27.10.2009 18:29:53)
GotF

Re: Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Что-то мне подсказывает, что адреса-то ему взять как раз негде. А?

GotF ***** (27.10.2009 18:33:53)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

> У меня не работает пока. Может подскажете чем?

а если на том сервере icmp фильтруется ?

xpahos ** (27.10.2009 18:36:06)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

А я его таким макаром запускаю: sudo ./pingall.sh 192.168.1.{1..255}

leon1001 (27.10.2009 18:36:40)

Re: Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Что из этого не работает?

1. чтобы он пинговал ip (например от 192.168.1.1 до 192.168.1.255). 2. Если ip не отвечает, то ставим себе этот ip 3. проверяем скорость соединение с интернетом

anonymous (27.10.2009 18:41:29)

Re: Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

>а если на том сервере icmp фильтруется ?

Вот именно поэтому надо использовать arping

anonymous (27.10.2009 18:45:58)

Re: Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

>sudo ./pingall.sh 192.168.1.{1..255}

Это не поможет. Изучи синтаксис for.

anonymous (27.10.2009 18:46:58)
GotF

Re: Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Хм, а разве первый переданный параметр не должен быть чем-то типа $1? Или bash позволяет такую самодеятельность?

GotF ***** (27.10.2009 18:47:28)
GotF

Re: Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

И да, почитай ABS для начала.

GotF ***** (27.10.2009 18:48:25)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Пингует он нормально. ip он вроде тоже ставит. А вот соединения не проходит. Еще проблема: после отключения скрипта ip дальше меняеться))

192.168.17.4 no response --2009-10-27 17:46:26-- http://10/ Преобразование адреса 10... 0.0.0.10 Устанавливается соединение с 10|0.0.0.10|:80... ошибка: Network is unreachable. --2009-10-27 17:46:26-- ftp://192.168.8.12/ => `.listing' Устанавливается соединение с 192.168.8.12:21... ошибка: Network is unreachable. unlink: No such file or directory 192.168.17.5 is alive 192.168.17.6 is alive 192.168.17.7 is alive 192.168.17.8 is alive

leon1001 (27.10.2009 18:52:17)
[#]  
boombick

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

> Если ip не отвечает, то ставим себе этот ip и проверяем скорость соединение с интернетом

А у вас от локального ip скорость зависит? Каков сакральный смысл?

boombick ***** (27.10.2009 21:58:54)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Вообще-то да))

leon1001 (27.10.2009 22:17:04)
boombick

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

круто.. т.е. задача: найти самый быстрый ip из свободных и захапать его себе? :) А нельзя единожды список скоростей на каждом ip составить, а потом просто их незанятость проверять? Или там еще и постоянно разная скорость? Тогда расскажите пожалуйста, где это так увлекательно интернет раздается? :)

boombick ***** (27.10.2009 22:25:50)
[#]  

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Неужели твой провайдер такой идиот? :-)

Какой хоть город?

Liosha_Syrnikov * (27.10.2009 22:37:50)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

С провайдером конечно приколы ещё те)) Сейчас я всё так и написал))

leon1001 (27.10.2009 22:53:55)
[#]  

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Вот следующая версия, но пока тоже не рабочая. Не могу понять в каком месте я дурак))

#!/bin/bash
for address in 192.168.1.59 192.168.1.141 192.168.1.45 192.168.1.44
do

if ping -c 1 $address >/dev/null 2>&1
then
echo "$address is alive"
ifconfig eth1 inet $address
wget http://ya.ru
else
echo "$address no response"
ifconfig eth1 inet $address
wget http://ya.ru
fi
done

leon1001 (27.10.2009 22:58:08)
pseudo-cat

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

я не силён в сетях, но разве достаточно поставить ip? Мне казалось, что ip как миниум по маку раздаётся.

pseudo-cat * (27.10.2009 23:13:56)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

На нашем провайдере всё можно.
Тоесть отдельно всё работает. А вот скрипт написать пока не получается.
sudo ifconfig eth1 inet 192.168.1.14 up
wget http://ya.ru
--2009-10-27 22:07:18-- http://ya.ru/
Преобразование адреса ya.ru... 93.158.134.8, 213.180.204.8, 77.88.21.8
Устанавливается соединение с ya.ru|93.158.134.8|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 4891 (4,8K) [text/html]
Сохраняется в каталог: `index.html.1'.

100%[======================================>] 4.891 --.-K/s в 0,04s

2009-10-27 22:07:18 (132 KB/s) - `index.html.1' сохранён [4891/4891]

leon1001 (27.10.2009 23:21:31)
pseudo-cat

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

/etc/init.d/net.eth0 restart ?

pseudo-cat * (27.10.2009 23:24:40)
[#]  

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Нехорошо воровать интернет.

anonymous (28.10.2009 0:26:15)
[#]  
dimon555

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

видимо провайдер не использует vpn, а использует только ип или ип+мак

dimon555 **** (28.10.2009 11:55:58)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

Выдаёт такое:
sudo /etc/init.d/networking restart
* Reconfiguring network interfaces... Ignoring unknown interface eth1=eth1.
[ OK ]

leon1001 (28.10.2009 16:25:20)
pseudo-cat

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

/etc/init.d/net.eth1 нет?

pseudo-cat * (28.10.2009 17:25:33)

Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

bash: /etc/init.d/net.eth1: No such file or directory
У меня просто ubuntu а там вот это
sudo /etc/init.d/networking restart

leon1001 (29.10.2009 15:37:22)

Re: Cкрипт на bash'е для проверки всех ip подсети, подстановкой их и измерения скорости на каждом ip

скрипт этот из-под рута запускаешь?

xydo ** (30.10.2009 13:56:34)

О Сервере - Правила форума
http://www.linux.org.ru/

Rambler's Top100 Рейтинг@Mail.ru