Я сделал простой сканер портов с Python, используя Scapy.
Я устанавливаю Metasploitable и открываю несколько портов, например. 21, 22, 23 и 8009.
Затем я инициирую сканирование этих портов, и Scapy сообщает мне, что они открыты.
Однако, если я сканирую порты, которые не открыты в Metasploitable, я получаю обратно флаг TCP 20, который является флагом URG TCP. Это взято из описания флага URG.
Флаг URG используется для информирования принимающей станции о том, что определенные данные в сегменте являются срочными и должны иметь приоритет. Если флаг URG установлен, принимающая станция оценивает срочный указатель, 16-битное поле в заголовке TCP. Этот указатель указывает, какая часть данных в сегменте, считая от первого байта, является срочной.
Срочные данные для меня ничего не значат.
Я не понимаю, почему я получаю флаг URG обратно, и я пытаюсь понять, почему я получаю его, что он означает, даже если порт закрыт, и могу ли я когда-либо получить URG ответ назад, если порт был открыт.