Мне нужно получить шлюз по умолчанию на компьютере Mac. Я знаю, что в Linux маршрут -n даст результат, из которого я могу легко получить эту информацию. Однако это не работает в Mac OSX (Snow Leopard).
Я тоже пробовал netstat -nr | grep 'default'
, но надеялся на более чистый результат, подобный тому, который создается route -n
в Linux / Unix. netstat -nr
перечисляет все интерфейсы и шлюз по умолчанию для них.
Будем признательны за любые предложения или подсказки в правильном направлении.
Ответы:
Вы можете попробовать:
Это не то же самое, что GNU / Linux
route -n
(или дажеip route show
), но полезно для проверки информации о маршруте по умолчанию. Кроме того, вы можете проверить маршрут, по которому пакеты будут идти к определенному хосту. НапримерРезультат будет примерно таким:
ИМХО
netstat -nr
это то, что нужно. Даже приложение-утилита MacOSX Network (*) использует вывод netstat для отображения информации о маршрутизации.Надеюсь, это поможет :)
(*) Вы можете запустить сетевую утилиту с
open /Applications/Utilities/Network\ Utility.app
источник
Чтобы получить список связанных IP-адресов, вы можете использовать команду netstat
Это дает длинный список IP-адресов, и нелегко найти нужное поле. Результат образца следующий:
IP-адрес шлюза находится в первой строке; один со значением по умолчанию в первом столбце.
Чтобы отображать только выбранные строки результата, мы можем использовать команду grep вместе с netstat
Эта команда фильтрует и отображает те строки результатов, которые имеют значение по умолчанию. В этом случае вы можете увидеть следующий результат:
Если вы хотите найти только IP-адрес шлюза и ничего больше, вы можете дополнительно отфильтровать результат с помощью awk . Команда awk соответствует шаблону во входном результате и отображает результат. Это может быть полезно, когда вы используете свой результат непосредственно в какой-либо программе или пакетном задании.
Команда awk указывает сопоставить и распечатать второй столбец результата в тексте. Таким образом, окончательный результат выглядит так:
В этом случае netstat отображает весь результат, grep выбирает только строку со словом «default» в нем, а awk далее сопоставляет шаблон для отображения второго столбца в тексте.
Аналогичным образом вы можете использовать команду route -n get default, чтобы получить требуемый результат. Полная команда
Эти команды хорошо работают в Linux, UNIX и MAC OS.
источник
Утилита grep не нужна. AWK может все:
Обратите внимание, что если у вас работает что-то вроде Parallels (или VPN, или того и другого), вы можете увидеть две или более записей маршрутизации по умолчанию - это будет верно, если вы также воспользуетесь предложением grep, приведенным выше.
и
Чтобы установить переменную (_default) для дальнейшего использования (при условии, что только одна запись для 'default') .....
В случае нескольких маршрутов по умолчанию используйте:
Эти примеры протестированы в Mavericks Terminal.app и относятся только к OSX. Например, в других версиях * nix для сетевых / беспроводных подключений часто используется «eth», а не «en». Это также проверено только с ksh. Другим оболочкам может потребоваться немного другой синтаксис.
источник
Я бы использовал что-нибудь в этом роде ...
источник
Использование системных настроек:
Шаг 1. Щелкните значок Apple (в верхнем левом углу экрана) и выберите «Системные настройки».
Шаг 2: Щелкните Сеть.
Шаг 3: Выберите сетевое подключение и нажмите «Дополнительно».
Шаг 4: Выберите вкладку TCP / IP и найдите IP-адрес вашего шлюза в списке рядом с Router.
источник