Як у Windows встановити маршрут для IP-адреса?


21

Як я можу визначити маршрут IP, прийнятий для певного пункту призначення IP (не дивлячись на "друк маршруту" та не з'ясовуючи його вручну)?

В OS X є, route get 1.2.34а в Linux є /sbin/ip route get 1.2.3.4. Чи є щось подібне у Windows?


якщо ви готові використовувати Powershell ви можете використовувати Get-NetRoute Командлети, technet.microsoft.com/en-us/library/hh826126.aspx
Арана

Відповіді:


8

Так. Відкрийте командний рядок і введітьtracert 1.2.3.4


Хе, хороший пункт. Це не оптимальне рішення, оскільки воно запитує в мережі те, що ви знаєте локально, але здебільшого дає мені потрібну інформацію.
Ілля

1
@Ilya: Використання -d(без вирішення IP-адреси) та -w 0(не чекайте пінгу) повинно значно прискорити сканування.
Привіт71

16
Це насправді не робить те саме. Ці route getкоманди оригінал розміщені згадує виконати пошук в локальній таблиці маршрутизації і повертає результат. Наприклад, ви можете запитати, ip route get 192.168.1.32/28який запис таблиці таблиці маршрутизації буде використовуватися для цієї мережі, але ви не можете запитати tracertпро мережеві блоки.
larsks

1
@ Hello71 -w 0не працює в моєму випадку (дає помилку Bad value for option -w.). -w 1працює, однак.
КрішПрабакар

8
Це не правильна відповідь. tracertне дає інформацію про маршрутизацію, таку як інтерфейс використовується.
RickMeasham

25

У Powershell:

Find-NetRoute -RemoteIPAddress "10.0.0.34" | Select-Object ifIndex,DestinationPrefix,NextHop,RouteMetric -Last 1

ifIndex DestinationPrefix NextHop     RouteMetric
------- ----------------- -------     -----------
     49 10.0.0.0/24       10.64.130.4           0

2
tbh на це слід більше звертати увагу. Find-NetRoute- це, мабуть, найближче до ip route getWindows.
Братчлі

Зауважте, що це не буде працювати в Windows 7 (і новіших версіях). Має працювати в Windows 8 (і вище).
Nux

Це має бути прийнятою відповіддю. До речі, повноваження, здається, не розроблені для щоденного інтерактивного використання ...
cyfdecyf

8

pathpingКоманда аналогічна , tracertале включає в себе вихідний інтерфейс.

Використовуючи cygwin, ця команда надає вихідний IP / інтерфейс для певного пункту призначення (вказаний $HOST):

pathping -n -w 1 -h 1 -q 1 $HOST | head -n 4 | tail -n 1 | awk '{print $2}'


1
Це краща відповідь. pathping -n -w 1 -h 1 -q 1 $HOST була також дуже інформативною для мене. Допоміг мені розібратися в проблемі, яка у мене була.
jenming
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.