Весь известный нам интернет работает в основном на стеке протоколов: tcp/ip (ти-си-пи-ай-пи) и udp (у-ди-пи) и разных других например ICMP (ping)
Оба протокола это обмен (данными) по протоколу между двумя компьютерами подключенных к сети.
Для нас важно знать.
ip - это адрес машины в сети (бывает IPv4 -32 бита и IPv6 - 128 бит).
В протоколах tcp/ip и udp есть абстракция "порт" бывает от 1-65535.
Используется на уровне ОС для понимания в какую программу надо передать данные, то есть некий идентификатор.
Как это работает:
1. Приложение говорит системе (сервер):
2. На другом компьютере приложение говорит системе (клиент):
Если все прошло успешно то они могут обмениваться данными уже по своему протоколу.
Картинка
О принципе работы ассиметричного шифрования. И понимания доверенности к pub ключу (crt)
Картинка
О принципе работы ассиметричного шифрования. И понимания доверенности к pub ключу (crt)
nc / telnet
nginx (docker)
openssl
firefox
curl
python (requests)
ssl (c-туннел)
nc -l 3333 - запускаем сервер на порту 3333
sudo netstat -tulpan | grep LISTEN
Можно попробовать подключиться вот так вот на ssl сокет
openssl s_client -connect %hostname%:%port%