Предполагая, что вы были в состоянии изменить устройства версия ОС/прошивки/для сервера/клиента для отправки и слушать на портах выше, чем 65535, это может быть возможно, чтобы посадить backdoor и его слушать, скажем, порт 70000?
Я предполагаю, что реальный вопрос заключается в том:
Если вы восстановили протокол TCP/IP стека локально на компьютере, будет общей концепции не будут работать, потому как в RFC 793 - работает стандартный протокол управления передачей`, как указано ниже в ответы? Что делает невозможным доступ к службе, запущенной на порту выше 65535.
Там было так много говорят об оборудовании и устройствах, имеющих бэкдоры, созданные, что только правительство имеет доступ для мониторинга, и я был просто любопытно, если это было возможно, один из способов они делают это и во избежание обнаружения и нахождения?
Нет, в поле номер порта в заголовке TCP технически ограничено до 2 байт. (даю вам 2 возможных портов^16=65536`)
Если вы изменить протокол, резервирование дополнительных бит для более высокой порты, вы'вновь нарушив спецификация для TCP-сегментов и wouldn'т быть поняты клиентом. Другими словами, вы'повторно не говоря TCP и термин "в Порту" и как в "Порт мне исходный TCP/назначения&; не'т применять. Такое же ограничение существует для UDP-порты.
Что сказал, бэкдор может вместо того, чтобы общаться через другой протокол, чем TCP или UDP, чтобы скрыть коммуникации. Например, icmpsh
обратная оболочка, которая использует только протокол ICMP. В конечном счете, вы также можете реализовать свой собственный протоколу транспортного уровня с использованием сырые сокеты, что может иметь свое собственное понятие соединений с большим диапазоном, чем 0-65535.
Нет, он's, что число потому что по TCP поле, что только 16 бит (65536, но начиная с 0), так что это принципиально невозможно общаться более высокий порт, чем 65535
если вы восстановили протокол TCP/IP стека локально на компьютере, будет общая концепция не работает из-за того, как в RFC 793 - контроль передачи по стандартному протоколу работает, как указано ниже в ответы? что делает невозможным доступ к службе, запущенной на порту выше 65535.
Есть нет протокол TCP/UDP сервисы на портах выше, чем 65535. Если он поддерживает номера портов выше 2<суп>16</суп>-1, то он больше не является TCP (или UDP).
Может у вас что-то другое что...? Конечно. И это может быть очень похож на TCP? До такой степени, что обратная совместимость? Да на оба вопроса.
там было так много говорят об оборудовании и устройствах, имеющих бэкдоры, созданные, что только правительство тоже доступ для мониторинга, > и я был просто любопытно, если это было возможно, один из способов, они были делать это и во избежание обнаружения и нахождения?
Если я разработал такое устройство, он будет опираться на достаточно распространенным протоколом, как бы ничем не примечательный. Неизвестного/нелегального протокола пакета, после чего некоторые лишние движения следует, будет довольно подозрительно.
Что такое устройство мог сделать может быть, например, проверить несколько байт полезных данных. Они обычно noncorrelated значения; я мог тогда послать пакеты к цели, или если он является маршрутизатором, даже без IP-адрес своего собственного, каким-то, возможно, даже несуществующие хозяин за цели, маскируясь под (скажем) HTTPS-запрос, или входа SSH попытка.
Если вы видите пакет, вы не знаете, вы могли бы получить подозрительным. Но даже если вы видели в журналах что-то вроде
SSH: failed attempt for user maintenance
SSH: failed attempt for user maintenance
SSH: failed attempt for user maintenance
вы бы не беспокоиться, особенно если у вас нет руководство пользователя на "ремонт" по. Вы бы, наверное, предположить, кто-то, где-то, обнаружен нападение на некоторые устройства по умолчанию пользователь "в ремонт" и (черт возьми, если бы я был государством, я бы маркет такое устройство, есть его уязвимым, и не исправить это, исключительно в целях обоснования таких связей на совершенно разные устройства. Что'ы первое, что вы бы сделали, видя такие попытки? Либо ничего (на"безобидные брутфорс. Идиот") смотрите, Google и разводят руками ("О, кто-то думал у меня CheapRouter 2000. Идиот" и, возможно, создать правило брандмауэра, чтобы заблокировать IP - кроме того, что пакеты до сих пор прибываю для сетевой карты).
И что на самом деле происходит, что злой прошивки в маршрутизатор, сетевая карта, материнская плата или что там у вас, - признается пакетов и отправляет ответ*. Это можно делать путем установления ответных пакетов перезаписи в "Реал" и те.
Единственным симптомом что-то очень плохое случилось бы, если бы вы сравнили, скажем, входящий и исходящий трафик от злого маршрутизатор:
Хост с SSH-сервер:
--> SSH SYN --> ROUTER --> SSH SYN --> HOST
<-- SSH S+A --- ROUTER <-- SSH S+A <-- HOST
--> SSH ACK --> ROUTER --> SSH ACK --> HOST
...
--> LOGIN ----> ROUTER --> LOGIN ----> HOST
<-- FAIL2------ ROUTER <-- FAIL1 <---- HOST packets are different!
Хозяин без SSH-сервер:
--> SSH SYN --> ROUTER --> SSH SYN --> HOST
<-- SSH S+A --- ROUTER <-- SSH RST <-- HOST wait, WTF?
--> SSH ACK --> ROUTER HOST
...
--> LOGIN ----> ROUTER HOST
<-- FAIL2------ ROUTER HOST
Если вы понюхали на кабель, либо слева или справа от взломанное устройство, вы бы ничего не заметили сразу сгодится.
Другие подозрительные вещи, то окажется, что отправитель, видимо, использует ПТС быстро открыть расширения. Обратите внимание, что вы можете отправить дополнительные данные в Син даже без TCP/ФО, он будет просто проигнорирован устройства, как не-ФО и нескомпрометированной.
Как уже было сказано, номера портов представлены без знака 16-разрядное целое число и не может быть выше 65535.
Но есть возможность использовать различные протоколы (не TCP или UDP). В IP-заголовке есть-это 8-битовое поле, называемое «номер протокола», что означает, что транспортного протокола используется внутри этого пакета.
Вы можете посмотреть на таблицу транспортные протоколы здесь: http://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml
Некоторые протоколы из этого списка широко пользователей (например, TCP или UDP), несколько реже (ГПКН или UDPLite). Некоторые номера протокола еще не использованы, и некоторые устаревшие (Аргус "ЭМКОН").
Так, троянец может использовать неиспользуемые номера протокола для передачи данных на сервер. Конечно, этот метод трудно реализовать (требуется доступ к rawsocket или реализацию бэкдор как модуль ядра ОС).
Этого можно было бы достичь, но вы не сможете использовать такие протоколы, как TCP и UDP, так как их максимум порт 65535.
Вам потребуется реализовать собственный протокол поверх протокола IP.
Это может быть возможным, используя сырые сокеты.
там было так много говорят об оборудовании и устройствах, имеющих бэкдоры, созданные, что только правительство тоже доступ для контроля, и я был просто любопытно, если это было возможно, один из способов они делают это и во избежание обнаружения и нахождения?
Я Дон'т думаю, что это помогло бы сделать более тонкую структуру соединения, так вы бы еще быть в состоянии видеть пакеты, проходящие через сеть.
Я думал об этом пару дней, и я думаю, что ответ на самом деле может быть да, но странным образом.
Так как многие другие ответы, указали, говорит протокол TCP номера портов 16 бит. Что 16 1S и 0s. Это предел повторяемости 65535 портов. Для остального примера собирались использовать 4 бита, потому что я ленивый.
Так что с 4 битами я могу представлять 15 портов.
Ваши театральные бэкдор придется полагаться на то, как обрабатываются пакеты искаженный протокол TCP. Итак (вспомните 4 бита вместо 16). Позволяет отправить трафик на порту 17.
Заголовок будет искаженной, как 10001. Ваш стек TCP можно утверждать, что если вы получите некорректный заголовок., затем пойти по другому пути логики, присоединение данных к порту на "справа" и четыре биты. В этом случае порт 1 или 0001. Реальный фокус в том, что TCP использует разрядность. Это's не как XML, в котором есть [порт]10001[/порт]. Поэтому вам потребуется какой-то способ, чтобы обнаружить ваш заголовок порта переполнения. Сын находится прямо рядом с портом, так что вы могли бы сделать, а сын ровно на "1073741823" и означает, что ваш порт назначения больше одной.
Тогда этот другой путь логики может оставаться активным в течение всего времени подключения на порт 1.
Таким образом, вы могли бы иметь TCP бэкдор вокруг где-то, что принято искаженные пакеты и сделал что-то особенное с ними. Реальная проблема заключается в том, что ничего, кроме своего специального стека TCP может их понять. Маршрутизаторы, коммутаторы, даже в теории некоторых сетевых карт будет отбросить этот пакет, потому что он уродлив. Не было бы почти никакого способа сказать, если пакет будет сделать это Это'пункт назначения с искаженного заголовка С.
Но, при подключении двух устройств с шаткий стек TCP для А "тупой" и коммутатору или концентратору. В теории, вы могли бы получить эту работу, однако это не будет в ПТС спец.
Все это объяснил с точки зрения протокола TCP/IP-пакета: поле Порт находится всего в 16 бит длиной.
А как насчет исходного кода ядра Linux и как его обрабатывать порт? Везде в ядро Linux, для TCP/IP-порт это всегда бросала как "Короче" У, или 16 бит. И когда он компилируется в сборку x86, то 16 бит версию инструкции используются для обработки 16-битных данных.
И если вы задаетесь вопросом о IPv6, то это же ОС для IPv4 - все о TCP и UDP.
https://stackoverflow.com/questions/186829/how-do-ports-work-with-ipv6
Но, конечно, вы можете настроить странная связь, как через два сервера для общение - каждый из которых имеет отдельные 16-разрядные порты и поэтому, когда вы объединяете их, у вас есть виртуальный 32-битный порт. Но весь мир только вы будете знать, как разговаривать с двух серверов - например, разбиение данных пополам и разделить его между двумя сервера, перестраиваться обратно на стороне клиента.
Это действительно казалось больше, чем 16 бит практически невозможно.
Источник: https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#TCPIPREPETITION
Этот поистине обширный документ четко показывает, как биты назначаются на интернет по протоколу TCP. Это показать исходный порт и порт назначения рядом друг с другом.
Итак, вы сделали 32-разрядную источник порта? Неа, как только прикоснуться к интернет-байт 3 &ампер; 4 (низшего порядка) источника порта будет рассматриваться в пункт назначения.
Порт назначения с стереть порядковый номер, и все будет нажимаем далее вниз по линии.
Теперь с порядковым номером была разбита назначения выиграл'т быть ожидая, что порядковый номер, и он упадет, как будто это был поддельный пакет.
Даже если он сделал это в прошлом этот момент осознаю, номер будет разбита порядковый номер и так что сейчас количество неверный, насколько интернет является беспокойство, оно никогда не будет признано.
Да, поскольку вы указали, что вы можете изменить ОС, но с серьезной оговоркой, что только модифицированных устройств увидите ее на нестандартный номер порта.
Большинство современных реализаций магазина номер порта в 16-битовое поле, так что все возможные комбинации бит преобразуются в целые числа от 0 до 65535. Этих реализаций просто можете'т признают любой другой номер порта, потому что никакая комбинация битов бы карту к нему.
Но, если вы действительно хотели конкретного клиента распознавать движения, как будто это было в другой номер порта, можно переписать, как клиент интерпретирует пакеты на нижнем уровне. Вместо того, чтобы просто использовать 16-разрядный номер порта, вы могли бы написать ОС признать внесении в нее изменений на основании данных, содержащихся в опциях или разделов сообщение из пакетов. Тогда система может затем может работать как при более широком диапазоне возможных номеров портов.
Этот трюк будет работать только на устройствах, которые имеют свой пакет-толкование алгоритмы переписаны. Внешние устройства могут все еще жду эти пакеты без компрометации, но они будут рассматривать пакеты как по стандартному порту.