Я использую фильтр Ettercap, чтобы обнаружить ответ на запрос, возвращаемый определенной службой на удаленной машине.Когда я вижу ответ от службы, я просматриваю данные в пакете, чтобы увидеть, является ли смещение определенным значением, и если да, я изменяю значение с другим смещением.
Проблема в, когда я пытаюсь сделать это на новой виртуальной машине, я построил свой фильтр Ettercap, который больше не получает никаких данных в доступной ему переменной DATA.data.
if(ip.proto == TCP && tcp.src == 17867) {
msg("Response seen!\n");
if(DATA.data + 2 == "\0x01") {
msg("Flag detected!\n");
DATA.data + 5 = 0x09;
}
}
Фильтр применяется к трафику, потому что "Ответ замечен!»сообщения распечатываются Ettercap.Тем не менее, «Флаг обнаружен!»сообщений нет.Я думаю, что DATA.data действительно пуст, потому что если я изменю свой второй оператор "if", чтобы проверить на DATA.data == ""
, тогда "Флаг обнаружен!"сообщение распечатывается.
Есть идеи, почему это может происходить?!
Кроме того, если это неправильный сайт, на котором можно задавать подобные вопросы, сообщите мне.Я не был уверен, подходит ли он лучше здесь или где-то вроде суперпользователя или сервера.