chat-bots:zaschischennaja_peredacha_dannyx._prosmotr_trafika._json
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| chat-bots:zaschischennaja_peredacha_dannyx._prosmotr_trafika._json [2025/09/23 02:33] – olegsklyarov | chat-bots:zaschischennaja_peredacha_dannyx._prosmotr_trafika._json [2025/09/24 07:25] (current) – [Заметки лектора] olegsklyarov | ||
|---|---|---|---|
| Line 29: | Line 29: | ||
| * Открытый ключ можно и нужно опубликовать в открытом доступе для всех желающих. Например см. https:// | * Открытый ключ можно и нужно опубликовать в открытом доступе для всех желающих. Например см. https:// | ||
| * Приватный ключ храним в секрете!!! | * Приватный ключ храним в секрете!!! | ||
| + | |||
| + | |||
| + | |||
| + | ===== Практика шифрования файла при помощи GNU Privacy Guard (GPG) ===== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | <code bash> | ||
| + | # Боб создает связку GPG ключей: | ||
| + | (Bob) $ gpg --full-gen-key | ||
| + | > (1) RSA and RSA | ||
| + | > 4096 | ||
| + | > Bob Ivanov | ||
| + | > bob@example.com | ||
| + | > 8312 (ваша группа в ННГУ) | ||
| + | > придумать, | ||
| + | |||
| + | # Боб экспортирует открытый ключ, чтобы передать его Элис | ||
| + | (Bob) $ gpg --export -a bob@example.com > PublicKey_Bob.gpg | ||
| + | |||
| + | # Боб отправляет файл PublicKey_Bob.gpg Элис доступным способом (почта, | ||
| + | |||
| + | # Элис импортирует ключ Боба в GPG | ||
| + | (Alice) $ gpg --import PublicKey_Bob.gpg | ||
| + | |||
| + | # Элис делает ключ Боба доверенным | ||
| + | (Alice) $ gpg --edit-key bob@example.com | ||
| + | > trust | ||
| + | > 5 | ||
| + | > quit | ||
| + | |||
| + | # Элис шифрует файл с сообщением при помощи открытого ключа Боба | ||
| + | # результат сохраняется в message.txt.asc (aka message_encrypted) | ||
| + | (Alice) $ gpg -e -a -r bob@example.com message.txt | ||
| + | |||
| + | |||
| + | # Элис отправляет зашифрованный файл message.txt.asc Бобу | ||
| + | |||
| + | # Боб расшифровывает message.txt.asc (aka message_encrypted) | ||
| + | (Bob) $ gpg -d -o message_decrypted.txt message.txt.asc | ||
| + | </ | ||
| + | |||
| + | ==== Полезные команды ==== | ||
| + | |||
| + | |||
| + | <code bash> | ||
| + | # список открытых ключей | ||
| + | $ gpg -k | ||
| + | |||
| + | # список секретных ключей | ||
| + | $ gpg -K | ||
| + | </ | ||
| + | ===== Просмотр сетевого трафика ===== | ||
| + | |||
| + | ==== Замечания про HTTP ==== | ||
| + | |||
| + | * Сетевая модель OSI: стек протоколов, | ||
| + | * Первоисточник: | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | ==== Смотрим HTTP трафик ==== | ||
| + | |||
| + | Исходный код сервера [[https:// | ||
| + | |||
| + | <code bash> | ||
| + | # установка wireshark | ||
| + | $ sudo apt install wireshark | ||
| + | $ sudo dpkg-reconfigure wireshark-common | ||
| + | $ sudo chmod +x / | ||
| + | |||
| + | # запускаем wireshark | ||
| + | $ wireshark | ||
| + | |||
| + | # запускаем HTTP сервер | ||
| + | $ python3 http-server.py | ||
| + | |||
| + | # отправляем HTTP запрос | ||
| + | $ curl " | ||
| + | </ | ||
| + | |||
| + | https:// | ||
| + | |||
| + | |||
| + | ==== Смотрим HTTPS трафик ==== | ||
| + | |||
| + | <code bash> | ||
| + | # Генерируем самоподписанный ключ и сертификат | ||
| + | $ openssl req -newkey rsa:2048 -nodes -keyout key.pem -x509 -days 365 -out cert.pem | ||
| + | |||
| + | # запускаем HTTPS сервер | ||
| + | $ python3 https-server.py | ||
| + | |||
| + | # отправляем HTTPS запрос (ошибка curl: самоподписанный сертификат) | ||
| + | $ curl https:// | ||
| + | |||
| + | # отправляем HTTPS запрос (разрешаем самоподписанный сертификат) | ||
| + | $ curl --insecure " | ||
| + | </ | ||
| + | |||
| + | На будущее: | ||
| + | |||
| + | |||
| + | ===== JSON ===== | ||
| + | |||
| + | JavaScript Object Notation | ||
| + | * human-readable | ||
| + | * https:// | ||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | |||
| + | ===== Д/З ===== | ||
| + | |||
| + | - Создать про помощи '' | ||
| + | - Отправить [[https:// | ||
| + | - Получить в ответ зашифрованное сообщение, | ||
| + | - Отправить [[https:// | ||
| + | |||
| + | |||
| + | ==== Заметки лектора ==== | ||
| + | * Данный контент занял примерно час, остальное время принимали GPG зачет. Можно добавлять ещё материал. | ||
| + | * Идея: написать [[chat-bots/ | ||
| + | * Открытые ключ можно смело слать в общий чат, отмечать выполненные реакцией emoji. Это добавит реальной атмосферы незащищенного канала связи (общий чат), но информация читается только получателем. | ||
| + | |||
| + | |||
chat-bots/zaschischennaja_peredacha_dannyx._prosmotr_trafika._json.1758584010.txt.gz · Last modified: by olegsklyarov
