Ответ
Сетевой порт — это числовой идентификатор (от 0 до 65535), используемый в сетевых протоколах (TCP/UDP) для определения конкретного процесса или сервиса на устройстве. Он позволяет нескольким сетевым приложениям работать одновременно на одном IP-адресе, направляя входящие данные нужному приложению.
Пример использования порта в Python (сервер):
import socket
# Создаем TCP/IP сокет
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Привязываем сокет к локальному адресу и порту 8080
server_socket.bind(('localhost', 8080))
# Начинаем слушать входящие соединения
server_socket.listen(1)
print(f"Сервер слушает на порту 8080...")
# Далее можно принимать соединения и обрабатывать данные
Ключевые моменты:
- 0-1023 (Well-known ports): Системные порты, зарезервированные для общеизвестных сервисов (например, HTTP — 80, HTTPS — 443, FTP — 21, SSH — 22).
- 1024-49151 (Registered ports): Зарегистрированные порты, используемые для конкретных приложений (например, PostgreSQL — 5432, MySQL — 3306, RDP — 3389).
- 49152-65535 (Dynamic/Private ports): Динамические или частные порты, используемые для временных соединений клиента.
Комбинация IP-адреса и номера порта формирует уникальный адрес для сетевого взаимодействия, известный как сокет.
Ответ 18+ 🔞
А, слушай, смотри, вот эта вся хуйня с портами, это ж, блядь, как квартиры в доме! Представь: IP-адрес — это адрес дома, ну, типа «улица Ленина, 15». А порт — это, сука, номер квартиры в этом доме, от 0 до 65535, ёпта.
Без этого номера почтальон (он же сетевой пакет) принесёт тебе письмо, зайдёт в подъезд и будет охуевать: «На кого, блядь, оставить? Тут же дохуя квартир!». А так — раз! — и несёт прямо в нужную дверь, где сидит конкретное приложение и ждёт свою посылку.
Вот, смотри, как это на питоне выглядит, если ты хочешь быть этим самым почтальоном-сервером:
import socket
# Делаем себе дверь для приёма гостей (TCP/IP сокет)
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Вешаем на дверь табличку: «Живу тут, на порту 8080»
server_socket.bind(('localhost', 8080))
# Садимся у двери и начинаем подслушивать — не стучит ли кто
server_socket.listen(1)
print(f"Сервер слушает на порту 8080...")
# Дальше можно уже гостей встречать и с ними общаться
А теперь, блядь, самое важное — какие квартиры для кого:
- 0-1023 (Ну, системные, блядь): Это как пентхаусы и квартиры охраны. Зарезервированы для больших шишек: HTTP (80) — для веба, HTTPS (443) — для зашифрованного веба, SSH (22) — чтобы удалённо порулить серваком. Лезешь туда без спросу — получишь по ебалу от системы.
- 1024-49151 (Прописанные жильцы): Тут уже живут уважаемые, но не системные приложения. PostgreSQL (5432) базу данных держит, MySQL (3306) — свою, RDP (3389) — для удалённого рабочего стола. Тоже порядок любят.
- 49152-65535 (Общежитие для временщиков): Вот это, сука, полный разгул демократии! Когда твой браузер лезет в интернет, система выдёт ему тут временную прописку — свободный порт из этого диапазона. Посидел, потусил, соединение закрыл — и квартира освободилась для следующего желающего.
И вот когда IP-адрес (дом) и порт (квартира) встречаются — получается сокет, ёбта! Уникальный сетевой адрес, чтобы вся эта ебальная кухня работала и данные не путались. Красота, да и только!