На моей машине linux 1 из 3 сетевых интерфейсов может быть фактически подключен к Интернету.Мне нужно получить IP-адрес подключенного в данный момент интерфейса, учитывая, что другим двум моим интерфейсам могут быть назначены IP-адреса, но они не могут быть подключены.определить, какой из них имеет подключение, но я хотел бы получить это быстрее, чем ждать истечения времени пинга.И я бы не хотел полагаться на работоспособность внешнего веб-сайта.
Обновление:
Все мои интерфейсы могут иметь IP-адреса и шлюзы.Это для встроенного устройства.Поэтому мы позволяем пользователю выбирать между, скажем, eth0
и eth1
.Но если на интерфейсе нет соединения, которое пользователь говорит нам использовать, мы отступаем, чтобы сказать eth2
, который (в теории) всегда будет работать.
Итак, мне нужно сначала проверить,выбор пользователя связан, и если да, верните этот IP.В противном случае мне нужно получить IP eth2
.Я могу получить IP-адреса интерфейсов просто отлично, он просто определяет, какой из них действительно подключен.