Определить поддельный пакет UDP - PullRequest
2 голосов
/ 12 ноября 2011

Я хочу идентифицировать пакет UDP или TCP, чей поддельный IP-адрес поддельный. Я предполагаю, что даже если пакет подделан программой, которая имеет hping, MAC-адрес src остается одинаковым на всех поддельных пакетах, это правильно?

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

Спасибо.

Ответы [ 3 ]

3 голосов
/ 12 ноября 2011

MAC-адреса тоже могут быть подделаны.

С TCP это легко идентифицировать / обработать.Вы ответите на поддельный пакет SYN с помощью SYN-ACK.Если бы это был настоящий клиент, он бы ответил ACK для завершения рукопожатия.Единственное предостережение заключается в том, что вам придется использовать syn-cookie, чтобы вы не создавали состояние и не использовали ресурсы во время ожидания ACK.

С UDP нет способа узнать, так как протоколбез соединения.Если вы отправляете ответ на поддельный пакет, вам не гарантируется ответ от «реального» клиента.Таким образом, нет никакого способа идентифицировать поддельный.

2 голосов
/ 12 ноября 2011

На мой взгляд, UDP и TCP не имеют к этому никакого отношения. Вы говорите только об уровне 2 (MAC) и уровне 3 (IP). Даже при этом вы не можете знать, потому что исходный MAC-адрес должен быть адресом ближайшего маршрутизатора к получателю (при условии, что пакет не был создан в вашей подсети.) Таким образом, вы должны увидеть тот же MAC-адрес для большинства входящие пакеты (опять же, только интернет-трафик).

Теперь есть инструменты профилирования, такие как p0f, которые работают с сигнатурами пакетов, и вы можете попытаться выполнить некоторую эвристику, основанную на этой информации, но ничего особо конкретизированного определить невозможно.

1 голос
/ 12 ноября 2011

Из пакета вы можете получить MAC-адрес ближайшего узла. Да, вы можете отправить пакет ACK на поддельный адрес источника (IP), а затем с помощью команды Traceroute узнать путь к исходному пакету, чтобы вы могли хотя бы найти местоположение отправителя. Он хорошо работает в TCP, и вы также можете получить подтверждение.

...