Задать вопрос
@Docik99

Почему порт источника изменяется после отправки?

У меня есть сервер, доступный из сети Интеренет.
Я крафчу пакетики с помощью scapy и отправляю их на этот сервер.
Отслеживаю с помощью Wireshark пришедшие пакеты и вижу, что все данные в них правильные за исключением номера порта источника. Например, я указываю порт источника 21, а в пришедших пакетах он 65025.

Однако, если я подключаю MacBook (с которого отправляю пакеты) к той же самой домашней сети, к которой подключен сервер, то пакеты приходят с верным номером порта.

Так же пробовал использовать socket python и через sock.bind(('', 21)) указывать нужный порт, но ситуация аналогичная.

Подскажите, в чем именно может быть проблема?
  • Вопрос задан
  • 329 просмотров
Подписаться 2 Простой 3 комментария
Решения вопроса 1
MvcBox
@MvcBox
Software Engineer [C/C++/JS(for Node.js)/etc]
Подскажите, в чем именно может быть проблема?

https://ru.wikipedia.org/wiki/NAT
Маршрутизатор, через который проходит трафик, подменяет IP и порт отправителя.
Это сделано для того, чтобы пришедший ответ от сервера попал на правильное устройство, которое спрятано за маршрутизатором.

Если кратко "на пальцах" - https://youtu.be/L1JtmAiSaFQ?t=284
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы