Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 35

Используя traceroute (tracepath) и сведения о диапазоне IP-адресов нарисовать топологию сети в формате dot

16.12.2015, 21:54. Показов 2000. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, пожалуйста, студенту с написанием программы на shell в Ubuntu!

Задание следующее:

Используя traceroute (tracepath) и сведения о диапазоне IP-адресов нарисовать топологию сети в формате dot.
Пример:
traceroute to 195.19.160.1 (195.19.160.1), 64 hops max, 52 byte packets
1 192.168.0.1 (192.168.0.1) 0.385 ms 0.229 ms 0.193 ms
2 195.19.161.100 (195.19.161.100) 0.715 ms 0.860 ms 0.740 ms
3 ats-sw4-vl509.pstu.ac.ru (195.19.164.108) 0.844 ms 0.802 ms 0.834 ms
4 serv1.pstu.ac.ru (195.19.160.1) 0.918 ms 0.584 ms 0.564 ms

traceroute to ya.ru (213.180.204.3), 64 hops max, 52 byte packets
1 192.168.0.1 (192.168.0.1) 0.381 ms 0.222 ms 0.208 ms
2 195.19.161.100 (195.19.161.100) 0.701 ms 0.948 ms 0.726 ms
3 ats-sw4-vl509.pstu.ac.ru (195.19.164.108) 0.832 ms 0.851 ms 0.787 ms
4 ats-gw2-f1.0.30.pstu.ru (195.19.176.65) 0.754 ms 0.580 ms 0.601 ms
5 ats-gw1.pstu.ru (195.19.164.69) 0.763 ms 0.850 ms 0.724 ms

digraph g {
"192.168.0.1" -> "195.19.161.100" [ label = "0.740 ms" ]
"195.19.161.100" -> "195.19.164.108" [ label = "0.834 ms" ]
"195.19.164.108" -> "195.19.160.1" [ label = "0.564 ms" ]
"195.19.164.108" -> "195.19.176.65" [ label = "0.601 ms" ]
"195.19.176.65" -> "195.19.164.69" [ label = "0.724 ms" ]
"195.19.164.69" -> "194.226.222.169" [ label = "0.884 ms" ]
}
Одинаковые маршруты исключать.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.12.2015, 21:54
Ответы с готовыми решениями:

Нарисовать топологию сети
Добрый день! На работе сказали нарисовать полную топологию сети предприятия(включая свитчи, роутеры), смотрел кучу программ, но все не...

Построить топологию сети...
Всем привет) Есть задание- создать прогу для построения топологии сети, тоесть она сканирует определённый диапозон IP и портов, на...

Как исследовать топологию сети?
Здравствуйте. Компьютер в локальной сети, DNS присваивает компьютерам в сети имена, при этом компьютеры могут находиться в разных рабочих...

10
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
18.12.2015, 16:34
Видела твой выложенный скрипт от препода я попробовала его исправить но не проверяла
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
oldIP="NON_EXISTING_IP" #обращаю внимание в скрипте создается файл с таким же именем
IP_FILE=/tmp/$$.tmp
GRAPH_FILE=/tmp/$$.dot
 
for subnet in 10.0.2.15 #вместо этой строчки должен быть ряд, например for subnet in {1..254}
do
#tracepath -n 10.0.2.$subnet #раскоментируйте строку и  в конце добавте через пробел >oldIP
cat oldIP | grep '[0-9]\.[0-9]' | awk '{print($2)}' | while read cIP; do
[ "$oldIP" == "NON_EXISTING_IP" ] || { echo ""$oldIP" -> "$cIP"" >> $IP_FILE; }
oldIP=$cIP
done
done
 
echo "digraph a {" > $GRAPH_FILE
cat $IP_FILE | sort | uniq >> $GRAPH_FILE
 
xdot $GRAPH_FILE
0
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 35
18.12.2015, 18:18  [ТС]
Сегодня на лекции как раз спрашивал про эту программу. Преподаватель объяснил, как и у тебя в исправленной программе. Все равно, спасибо огромное за помощь)))
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
18.12.2015, 19:17
Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Вот у меня все получилось еще небыло закрывающей скобки
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/usr/bin/env bash
oldIP="NON_EXISTING_IP"
IP_FILE=/tmp/$$.tmp
GRAPH_FILE=/tmp/$$.dot
 
for subnet in 50 56 57 59 60
do
tracepath -n 45.33.32.1$subnet > oldIP
cat oldIP | \
grep '[0-9]\.[0-9]' | \
awk '{print($2)}' | \
while read cIP
do
[ "$oldIP" == "NON_EXISTING_IP" ] || {
echo "\"$oldIP\" -> \"$cIP\"" >> $IP_FILE
}
oldIP=$cIP
done
done
 
echo "digraph a {" > $GRAPH_FILE
cat $IP_FILE | sort | uniq >> $GRAPH_FILE
echo "}" >> $GRAPH_FILE
 
xdot $GRAPH_FILE
Надеюсь xdot у вас установлен
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
18.12.2015, 19:26
Со значениями думаю сами разберетесь
Миниатюры
Используя traceroute (tracepath) и сведения о диапазоне IP-адресов нарисовать топологию сети в формате dot  
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
18.12.2015, 19:43
А вот это две ваши цели
Миниатюры
Используя traceroute (tracepath) и сведения о диапазоне IP-адресов нарисовать топологию сети в формате dot  
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
18.12.2015, 19:48
nezabudka,
Bash
9
10
11
12
13
14
15
while read a cIP b
do
    [[ $cIP =~ [0-9]\.[0-9] && "$oldIP" != "NON_EXISTING_IP" ]] && {
    echo "\"$oldIP\" -> \"$cIP\"" >> $IP_FILE
    }
    oldIP=$cIP
done <oldIP
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
18.12.2015, 20:06
Stepan P Упс. Я увлеклась и пропустила ваш ответ. Дико извиняюсь. Всего хорошего

Добавлено через 16 минут
marinero. Что то у меня аж голова закружилась, оставлю ваш код для разбора на выходной
А все, поняла, спасибо
0
Эксперт NIX
 Аватар для nezabudka
3334 / 752 / 252
Регистрация: 28.06.2015
Сообщений: 1,552
Записей в блоге: 16
18.12.2015, 20:36
marinero. Вот тебе нате. Копирую код а оказывается он на странице изменяется хотя и выделяю его в теги bash
Даже подумать не могла и как теперь подобный код вставить и что самое главное как в
дальнейшем уберечся от ошибок?
Посмотрите на 15 и 22 строчки на скрине и сравните в коде на странице
Пробовала и обычным текстом и ВВ кодом все едино
Миниатюры
Используя traceroute (tracepath) и сведения о диапазоне IP-адресов нарисовать топологию сети в формате dot  
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
18.12.2015, 20:52
nezabudka, Поправил
1
0 / 0 / 0
Регистрация: 21.05.2015
Сообщений: 35
19.12.2015, 14:51  [ТС]
Спасибо за помощь)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.12.2015, 14:51
Помогаю со студенческими работами здесь

Добавление сервера в топологию сети в GNS3
Не понимаю, где взять &quot;сервер&quot; в GNS3. Есть там свичи, есть vpcs, и т.д. А где взять сервер и как его настроить?

По какому принципу выбрать топологию сети?
Подскажите где найти инфу И вообще по какому принципу строятся сети!

Как придумать топологию реальной, действующей сети?
Нужно придумать топологию сети, чтоб она соответствовала какому либо предприятию. Чтоб состояла из клиентов и серверов, маршрутизаторов,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru