Могут ли нюхачи восстановить мой переданный файл?

#java #sockets #tcp #fileoutputstream

Вопрос:

У меня есть следующий код:

 // in = InputStream inputStream = filePart.getInputStream()
// out = OutputStream out = socket.getOutputStream()

int read = 0;
byte[] bytes = new byte[25 * 1024];
while ((read = inputStream.read(bytes)) != -1) {
    out.write(bytes, 0, read);
}
 

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

Комментарии:

1. Где сидит «нюхач»? Внутри вашего примера будет считыватель дампа памяти или что-то в этом роде? Или вы имеете в виду человека-в-середине вашего сокета-записанные данные между вашими выходами. напишите и потенциальному клиенту где-нибудь в интернете?

2. Если данные, которые вы отправляете, не шифруются по проводу (т. Е. с помощью SSL/TLS и т. Д.), То да, анализатор, расположенный между вашим отправителем и предполагаемым получателем, может увидеть исходные данные и собрать их вместе.

Ответ №1:

Зависит.

Давайте предположим socket , что имеется в виду сетевой сокет, то есть java.net.Socket . Тогда это зависит от интерфейса, к которому подключен сокет. Если, например, это довольно обычное:

  • Интерфейс-это сетевой порт в этом устройстве, к которому подключен кабель, который идет к обычному коммерческому кабельному модему домашнего использования jane, который затем идет к разделительной коробке на улице, а оттуда на стекловолокно, в широкий Интернет, например, к коммутатору центра обработки данных рядом с местом, где есть множество центров обработки данных, по трубе к одному из этих центров обработки данных, через их коммутационную инфру в нужную «комнату», к маршрутизатору, к концентратору в шкафу и, наконец, к серверу.

Тогда в основе почти везде это можно «вынюхать». Вот почему большая часть интернет — трафика зашифрована. В частности, можно отслеживать этот концентратор в шкафу, возможно, все другие серверы в этом ящике могут просто увидеть его, если они откроют свою карту в беспорядочном режиме. Если кто-то болтается снаружи и подсоединен к кабелю между вашим домом и разделительной коробкой в конце улицы, он, вероятно, может подслушивать. Исправьте это, используя, например, https.

Однако, если это так: сокет подключен к виртуальному интерфейсу, созданному драйвером VPN, тогда, что ж, остальная часть истории о том, как это попадает на другую сторону, вероятно, не имеет значения. По крайней мере, весь сегмент до тех пор, пока сигнал не отскочит от VPN, находится в «пространстве» VPN и физически маршрутизируется с помощью уровня косвенности. Если у вас нет какой-либо необычной реализации VPN, этот уровень будет зашифрован. Единственные, кто может «унюхать» это, если кто-то установил драйвер слежки на ваш компьютер. Если кто-то устанавливает программное обеспечение доступа корневого уровня без вашего ведома или согласия, вы обливаетесь из шланга, и ничто из того, что вы делаете, никогда не будет безопасным.

Так что, если мы можем пренебречь этим случаем, то в последнем случае: Нет, никто не может это вынюхать.