В Windows, OSX, Linux и т. Д. Ответ Криса Банча может быть значительно улучшен с помощью
netstat -rn
вместо команды traceroute
.
IP-адрес вашего шлюза появится во втором поле строки, которая начинается с default
или 0.0.0.0
.
Это позволяет решить ряд проблем при попытке использовать traceroute
:
- в Windows
traceroute
на самом деле tracert.exe
, поэтому нет необходимости в O / S-зависимостях в коде
- это быстрая команда для запуска - она получает информацию из O / S, а не из сети
traceroute
иногда блокируется сетью
Единственным недостатком является то, что необходимо будет читать строки из вывода netstat
до тех пор, пока не будет найдена правая строка, поскольку будет более одной строки вывода.
РЕДАКТИРОВАТЬ: IP-адрес шлюза по умолчанию находится во втором поле строки, которая начинается с «по умолчанию», если вы находитесь на MAC (проверено на Lion), или в третьем поле строки, начинающейся с '0.0.0.0' (протестировано в Windows 7)
Windows
Метрика интерфейса сетевого шлюза назначения сети
0.0.0.0 0.0.0.0 192.168.2.254 192.168.2.46 10
Mac:
Флаги шлюза назначения Ссылки Использовать Netif Expire
по умолчанию 192.168.2.254 UGSc 104 4 en1