Icmp port unreachable windows

ICMP Destination unreachable (Port unreachable) error

I will describe the problem that I encounter below which is the error message that I can see in WireShark:
ICMP Destination unreachable (Port unreachable)

I am connecting an IP Camera like this:
IP Camera —> Router(no internet connected) —> My PC Computer

  • IP Camera IP Address: 192.168.1.101
  • PC Ethernet IP Address: 192.168.1.104
  • I have disabled all firewalls in Windows 10 and have no antivirus software

(Above 2 IP are put as static IP Address Reservations in the TP-Link Router)

Now I use some code that I have (I will try to not post the code as I dont think that is the problem). When I run the code, I use WireShark to sniff out what the problem is and I get as seen in image below this error message:

ICMP Destination unreachable (Port unreachable)

I have googled on this error message and I have red almost every post I can find but no one really tells how to solve this problem. Only what it means.

The image shows the error. However each time I run the code, the source/destination ports changes everytime so they are not static. It could be for example those ports as I tried the code at least 3 times:

Source ports: 65063,64077,51923 etc (PC computer)
Destination ports: 6987,6991,6995 etc (IP Camera)

What is causing this error and what can I do to solve this error?

(Image from WireShark)

Протокол ICMP. Сообщения типа Error

Протокол ICMP представляет собой механизм передачи сообщений об ошибках, которые возникают в процессе информационного обмена в сети Internet. На данный протокол не возлагаются функции локализации и устранения причин, которые привели к возникновению этих ошибок.

Для передачи сообщений протокола ICMP по сети IP используются дейтаграммы обычного формата. Сообщение ICMP в данном случае помещается в поле DATA. Заголовок дейтаграммы, которая предназначена для переноса сообщений ICMP, имеет следующие значения полей:

  • SERVICE TYPE = 0
  • PROTOCOL = 1 (ICMP)
  • TIME TO LIVE – устанавливается в соответствии с типом сообщения в секундах
  • SOURCE IP ADDRESS – адрес источника сообщения ICMP
  • DESTINATION IP ADDRESS– адрес станции назначения для данного сообщения ICMP
Читайте также:  Windows плеер для андроид

Структура сообщения ICMP

TYPE ICMP Сообщение
0 Echo Reply
3 Destination Unreachable
4 Source Quench
5 Redirect
8 Echo Request
11 Time Exceeded
12 Parameter Problem
13 Timestamp Request
14 Timestamp Reply
15 Information Request
16 Information Reply
17 Address Mask Request
18 Address Mask Reply

Сообщение ICMP состоит из заголовка сообщения и собственно сообщения. Заголовок сообщения ICMP может занимать до 8 байтов – два 32-х разрядных слова. Собственно сообщение ICMP не имеет фиксированной длины, поэтому размер данного поля определяется типом сообщения. В заголовке сообщения размещается идентификатор типа сообщения ICMP. В таблице приведены значения поля TYPE ICMP и типы сообщений, которые соответствуют этим значениям.

Сообщения ICMP можно условно разделить на парные и непарные. Парные сообщения состоят из двух компонентов – запрос (Request) и ответ (Reply). Сообщение типа ответ высылается станцией назначения только в ответ на полученное от источника сообщение типа запрос. К сообщениям такого типа относятся Echo Request/Reply. Непарные сообщения формируются асинхронно при возникновении какой либо проблемы при передаче дейтаграммы, и передается в адрес источника данной дейтаграммы. К сообщениям подобного типа относятся сообщения Destination Unreachable и Source Quench.

Сообщения ICMP

Структура заголовка сообщений ICMP

Заголовки всех сообщений ICMP имеют примерно одинаковый формат. В четырех первых байтах заголовка сообщений ICMP размещаются поля TYPE, CODE и CHECKSUM.

В этом поле заголовка сообщений ICMP размещается код, который соответствует типу сообщения.

В поле CODE некоторых сообщений ICMP может быть размещен код дополнительной диагностической информации.

В этом поле заголовка сообщений ICMP размещается контрольная сумма данного сообщения. Эта контрольная сумма вычисляется суммированием всех полей, начиная с поля TYPE. При вычислении контрольной суммы значение поля CHECKSUM полагается равным 0.

Сообщение Destination Unreachable

Сообщение Destination Unreachable (цель недоступна) — принадлежит к непарным сообщениям ICMP. Это сообщение формируется в том случае, если запрошенный сетевой ресурс является недоступным для запрашивающей его станции.

0 7 15 31
TYPE=3 CODE=0…12 CHECKSUM
UNUSED=0
Internet Header+64 первых бита дейтаграммы

В поле CODE сообщения Destination Unreachable размещается код, который соответствует типу запрошенного недоступного сетевого ресурса или конкретизирует причину, из-за которой этот ресурс недоступен в данном случае. Возможные значения поля CODE приведены в таблице:

CODE Значение
0 Network Unreachable
1 Host Unreachable
2 Protocol Unreachable
3 Port Unreachable
4 Fragmentation Need & DF set
5 Source Route Failed
6 Destination Network Unknown
7 Destination Host Unknown
8 Source Host Isolated
9 Communication with destination Network Administratively Prohibited
10 Communication with destination Host Administratively Prohibited
11 Network Unreachable for type of service
12 Host Unreachable for type of service
Читайте также:  Не отображается центр уведомлений windows 10

Сообщения данного типа могут быть сформированы как станцией назначения (CODE=2 и 3), так и одним из промежуточных маршрутизаторов – шлюзов (CODE=0,1,6 и т.д.). При этом в качестве адреса источника должен быть указан IP адрес узла, который обнаружил проблему. Например, сообщение №1 — Host Unreachable может быть сформировано последним маршрутизатором, который пытается доставить сообщение до хоста по непосредственно подключенной сети. Для того, чтобы станция – источник смогла правильно интерпретировать диагностическое сообщение, в тело сообщения Destination Unreachable помещается заголовок и первые 8 байт исходной дейтаграммы.

Сообщение Time Exceeded

Сообщение Time Exceeded – (истекло время) принадлежит к непарным сообщениям ICMP. Это сообщение должно быть сформировано в том случае, если в процессе передачи дейтаграммы истекло допустимое время её существования в сети или на хосте.

0 7 15 31
TYPE=11 CODE=0 или 1 CHECKSUM
UNUSED=0
Internet Header+64 первых бита дейтаграммы

Значение поля CODE в сообщении Time Exceeded используется для уточнения причины, по которой дейтаграмма прекратила существование:

  • CODE=0 — в процессе передачи дейтаграммы поле TTL приняло значение 0
  • CODE=1 – таймер дефрагментации установился в 0 до полной сборки принятого сообщения

Сообщение Parameter Problem

Сообщение Parameter Problem — (проблема с параметром) принадлежит к непарным сообщениям ICMP. Сообщение данного типа должно быть сформировано в том случае, если в процессе обработки заголовка дейтаграммы на хосте или маршрутизаторе были обнаружены некорректные аргументы, которые делают невозможным дальнейшее перемещения дейтаграммы. В этом случае дейтаграмма должна быть уничтожена, а в адрес её источника должно быть передано сообщение Parameter Problem.

0 7 15 31
TYPE=12 CODE=0 или 1 CHECKSUM
POINTER UNUSED=0
Internet Header+64 первых бита дейтаграммы

В поле CODE данного сообщения размещается признак типа диагностической информации. В том случае, если в этом поле находится код «0», значение поля Pointer сообщения Parameter Problem соответствует номеру байта в заголовке исходного сообщения, который не может быть адекватно интерпретирован. Например, значение Pointer=1, в данном случае указывает на возникновение проблемы с интерпретацией поля Type Of Service исходного сообщения.

Значение поля CODE=1 должно быть сформировано в ситуации, когда причина, по которой данная дейтаграмма не может продолжать перемещение по сети заключается в несоответствии запрашиваемых параметров установленным требованиям. Такими требованиями могут быть, в частности, требования по обеспечения безопасности.

Читайте также:  Команды для сочетания клавиш windows

Сообщение Source Quench

Сообщение Source Quench – (сдерживание источника) принадлежит к непарным сообщениям ICMP. Это сообщение должно быть сформировано в том случае, если в процессе передачи дейтаграммы возникла угроза перегрузки.

При получении от станции назначения или одной из промежуточных станций сообщения Source Quench, источник должен, используя специальные процедуры уменьшить скорость информационного обмена в указанном направлении.

0 7 15 31
TYPE=4 CODE=0 или 1 CHECKSUM
UNUSED=0
Internet Header+64 первых бита дейтаграммы

При передаче этого сообщения в качестве адреса назначения должен быть использован адрес IP источника первичного сообщения. Для того, чтобы станция – источник смогла правильно интерпретировать диагностическое сообщение, в тело сообщения Destination Unreachable помещается заголовок и первые 8 байт исходной дейтаграммы.

Сообщение Redirect

Сообщение Redirect – (изменение маршрута) принадлежит к непарным сообщениям ICMP. Это сообщение должно быть сформировано в том случае, если при получении дейтаграммы шлюз обнаруживает, что для её передачи был выбран неудачный маршрут. На рисунке приведен пример использования сообщения Redirect для изменения неверного маршрута.

В данном случае хост А(10.40.0.2) отправляет дейтаграмму в направлении хоста В(10.10.0.2) используя для этого в качестве шлюза маршрутизатор R2. После того, как маршрутизатор R2 получает дейтаграмму, он определяет, что данная дейтаграмма адресована в направлении 10.10.0.0. Кратчайший маршрут для достижения этой сети для маршрутизатора R2 лежит через маршрутизатор R4, который в данном случае подключен к тому сегменту сети, из которого была получена принятая дейтаграмма.

Маршрутизатор R2 направляет дейтаграмму по направлению R4 (красная стрелка на рисунке) и одновременно формирует сообщение ICMP Redirect, в котором он рекомендует хосту А впредь для передачи дейтаграмм в направлении сети использовать в качестве шлюза маршрутизатор R4.

0 7 15 31
TYPE=5 CODE=0/1/2/3 CHECKSUM
Gateway Internet Address
Internet Header+64 первых бита дейтаграммы

Сообщения данного типа могут быть сформированы только маршрутизатором – шлюзом. В заголовке сообщения ICMP Redirect размещается IP адрес шлюза, который рекомендуется использовать для достижения сетевого ресурса, указанного в исходной дейтаграмме и тип маршрута, который должен быть изменен по предложению источника сообщения ICMP. В таблице приведены используемые значения поля CODE сообщения ICMP Redirect и соответствующие им рекомендации по изменению маршрута:

Оцените статью