Что происходит в каждой строке этой команды netstat-nr?

425
imora

У меня есть проблема, которую я не понимаю. Как оценить, что происходит в каждой строке и какая строка соответствует адресу назначения 183.77.42.58 и почему?

netstat output

Что происходит в каждой строке этой команды netstat-nr?

0

2 ответа на вопрос

1
davidgo

Эта команда netstat -nr создала довольно стандартную таблицу маршрутизации - поэтому, если вам нужна помощь Google, просто посмотрите, как интерпретировать таблицу маршрутизации, но ответьте на свой вопрос -

Когда пакет приходит, он будет соответствовать самой определенной строке, а затем будет направлен на интерфейс. Комбинация Network Destination и Netmask позволяет системе рассчитывать диапазон IP-адресов. В этом случае это довольно просто, потому что маска сети 255.255.255.255 означает 1 IP-адрес, а маска сети 255.255.255.0 означает все, что соответствует первым 3 цифрам IP-адреса (фактически XXX *).

Сеть с 0.0.0.0 и маской сети 0.0.0.0 означает шлюз по умолчанию = весь трафик, не соответствующий более конкретному маршруту.

(Метрики определяют, куда отправлять пакет, где есть 2 строки с одинаковым диапазоном IP-адресов и сетевой маской - мы можем проигнорировать это здесь)

IP-адрес 183.77.48.58 сопоставляется строкой 2 и отправляется 183.77.42.13, поскольку он не соответствует строке 3, но находится в диапазоне 183.77.42.0 - 183.77.42.254.

1
barlop

примечание: я предпочитаю ответ Давидго моему. И я не согласен с ним. Поэтому, пожалуйста, примите его над моим.

У меня есть проблема, которую я не понимаю. Как оценить, что происходит в каждой строке и какая строка соответствует адресу назначения 183.77.42.58 и почему?

строка 2 будет соответствовать. Как это в той же сети. Это соответствует всему, что начинается 183.77.42

Пакет приходит или генерируется локально.

Это не полная формула, но достаточно ответить на главное в вашем вопросе. Формула, которую будет использовать маршрутизация, заключается в том, чтобы посмотреть IP-адрес назначения этого пакета. И это с помощью маски сети, отправьте его указанному интерфейсу, адресованному указанному шлюзу (маршрутизатору).

Абсолютно любой пакет будет соответствовать первой строке. Так что может быть что-то, что заставляет эту строку тестироваться последней, например, я думаю, что она имеет наибольшее 1 в маске сети. Если они одинаковы, то показатель - это то, что влияет на то, какая строка просматривается первой. Так что в этом случае метрика не имеет значения.

Последняя строка в списке (dest 255.255.255.255) - это та, которую я тестировал первым, так как в маске сети он имеет наибольшее число единиц. Он проверяет, предназначен ли IP для широковещательного адреса. то есть он проверяет, чтобы определить, является ли IP-адрес назначения 255.255.255.255. Он делает это, сравнивая адрес с 255.255.255.255, который равен всем 1, и поддерживает IP как есть, а затем проверяет, соответствует ли он 255.255.255.255.

Строка 3 - это проверка назначения IP-адреса, который явно является самим шлюзом. Маска 255.255.255.255, поэтому IP-адрес поступает, он сохраняется как есть и посмотреть, равен ли он этому адресу .18. Если это произойдет, то по какой-то причине он не будет отправлен, он просто будет отправлен на так называемый интерфейс обратной связи, который называется 127/8, например, 127.0.0.1, который по сути является внутренним виртуальным интерфейсом, внутри самой машины.

Строка 2 очень важна, это означает, что если IP-адрес назначения находится в той же сети, отправьте его.

И строка 1 очень важна, она, вероятно, будет работать последней ... она соответствует абсолютно всему. И отправляет это. Так что если что-то совпало до этого, то этот ряд не будет применяться к нему.

Итак, вы бы сказали, что 255.255.255.255 описывает широковещательную передачу, которая ограничена внутри подсети, а также почему она отправляет пакеты на 183.77.42.18? imora 6 лет назад 1
Да. Адрес 255.255.255.255 - это специальный адрес - отправленный на него пакет отправляется на все устройства, подключенные напрямую (т. Е. В одной подсети). Он отправляет через 183.77.42.18, потому что это IP-адрес компьютера, на котором он находится, то есть он определяет интерфейс в локальной системе, ссылаясь на его Mac-адрес. davidgo 6 лет назад 0
@imora хорошо, 255.255.255.255 - это IP-адрес назначения в пакете, а не маска подсети. Таким образом, он ведет к широковещательной рассылке всех компьютеров в этой подсети. IP-адрес 183.77.42.X находится в подсети 183.77.42.0 /255.255.255.0. Таким образом, широковещательная передача с любого компьютера в подсети, то есть с любого IP-адреса, начиная с 183.77.42.XYZ, будет идти на каждый IP-адрес в подсети 183.77.42. , barlop 6 лет назад 0