Простейшие будут проверять подсеть Вы находитесь в:
/sbin/ifconfig -a | sed -n '/Mask/ {/127.0.0.1/! p}'
, но в самом худшем сценарии, где все то же самое, вы могли бы просто проследить путь к чему-то и сравнить первые прыжки. Сохраните эти значения, а затем просто сравните их.
#at uni
$ traceroute stackoverflow.com | sed -n '2,5 s/[ 1-9]*\([^ ]*\) .*/\1/ p' > uni
#at home
$ traceroute stackoverflow.com | sed -n '2,5 s/[ 1-9]*\([^ ]*\) .*/\1/ p' > home
#then when you want just check
diff uni <(traceroute stackoverflow.com | sed -n '2,5 s/[ 1-9]*\([^ ]*\) .*/\1/ p' > location1)
Статус выхода diff скажет вам, совпадает ли это или нет. Это будет работать в 90% случаев, для остальных вам нужно будет настроить параметр 2,5, который извлекает прыжки с 1 по 4. Чтобы быть честным, 1 достаточно, но если у вас есть несколько точек доступа, которые вы, возможно, захотите сравните для 2-го или 3-го ... просто проверьте результаты traceroute визуально и решите, что потребуется.
И не забудьте сравнить как для унии, так и для дома, так как вы можете найти что-то изменившееся, и вы просто хотели бы знать, что это произошло, а не для выбора по умолчанию.
Удивительно, спасибо, что это прекрасно. Я могу запустить 'netname = $ (whois $ my_ip | grep NetName | cut -d: -f 2 | sed 's/^ * //')', чтобы получить имя сети. –