Отправка нетекстовых файлов с компьютера на другой с использованием C ++

0

Я пытаюсь создать приложение, которое позволяет пользователю передавать файлы/каталоги со своего компьютера на другой компьютер, когда он хочет в LAN ~ TCP/IP без какого-либо вмешательства пользователя-получателя.

Чтобы справиться с этим, я думаю, что Sockets станет лучшей альтернативой. Потому что, если я использую FTP и позволяю файлу FTP-порта приемника постоянно открываться, это будет уязвимостью.

Является ли использование сокетов лучшим выбором?

Если да, то как отправлять каталоги и нетекстовые файлы сбрасывать сокеты?

  • 1
    FTP тоже использует сокеты. Таким образом, если вы изобретаете что-то похожее на FTP, вы не измените уязвимость открытого порта.
Теги:
sockets
ftp

2 ответа

0
Лучший ответ

Когда дело доходит до безопасности, это действительно вопрос "что бы вы ни делали, это будет только безопасно, как сохранение пароля/учетных данных, необходимых для входа". Использование протоколов FTPS или SSH будет зашифровывать трафик между машинами, гарантируя, что никто за пределами не может "видеть", какие файлы (или пароли и т.д.). SSH также имеет функции для определения того, вдруг удаленная машина неожиданно изменилась, поэтому вы можете определить, внедрил ли кто-нибудь "мужчину в середине" атаки (то есть притворяется вашей фактической машиной, на которую вы отправляете)

Что касается отправки нетекстовых файлов, это не должно сильно отличаться от отправки текстовых файлов во всех случаях, о которых я знаю. Если вы используете FTP, вам необходимо установить протокол в "двоичный режим" перед отправкой двоичных файлов, так как некоторые системы в противном случае "изменят" содержимое (например, перевод CR, LF и CRLF последовательностей в соответствие с целевым объектом - и Изображение в формате JPG, безусловно, будет выглядеть довольно странно, когда все байты со значением 0x0A заменены 0x0D 0x0A в файле...).

Разумеется, вы также можете настроить веб-сервер с подходящим программным обеспечением на принимающем компьютере и использовать протокол HTTP/HTTPS для загрузки файлов - с или без защиты паролем (и в HTTPS пароль безопасен, пока никто не "за пределами группы" доверия "имеет доступ к фактическому отправителю/получателю, поскольку трафик зашифрован).

Существует буквально несколько сотен других решений. Не зная БОЛЬШЕ больше о том, какую проблему вы пытаетесь решить, трудно сделать очень конкретные решения.

  • 0
    Таким образом, использование FTP лучше, чем сырые сокеты?
  • 1
    Определите «лучше» ... Конечно, если вы хотите «спрятать» себя, отсутствие стандартного протокола затруднит поиск вашего трафика. Но это больше работы, и если кто-то действительно хочет знать, что происходит, Wireshark или что-то подобное все равно увидит трафик. Шифрование затруднит чтение.
Показать ещё 2 комментария
0

Вам понадобится какой-то сервер на принимающем компьютере, поскольку обычно нет процесса прослушивания и записи того, что он получает в файловую систему. Имейте практику с netcat (также известный как nc), прежде чем писать слишком много кода. Глянь сюда.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню