2011-01-04 3 views
0

Мне нужна помощь с ConditionalField в Scapy. У меня возникают проблемы с лямбда-функцией, как я могу заставить лямбда-функцию проверить определенный слой в пакете?Справка Scapy ConditionalField

В настоящее время у меня есть код

lamda pkt: pkt.haslayer(RTP) == 1 

Это не появляется на работе, я не думаю, что пкт содержит содержимое ПКТ, как я могу обойти эту проблему?

Спасибо за любую помощь

+0

Знание того, что «не работает» означает в этом случае было бы полезно. Вы получаете сообщение об ошибке или просто не фильтруете то, что ожидаете? Я написал ответ, предполагающий последнего. – kindall

+0

Я не могу узнать, как получить доступ к методам/атрибутам всего пакета. Я не получаю ошибку как таковой, она просто не рассекает правильно. Если бы я мог просто определить, как получить доступ к полному содержимому пакета, я мог бы решить все остальное :) – WizardsSleeve

ответ

1

Попробуйте lambda pkt: pkt.haslayer(RTP). Я предполагаю, что haslayer() возвращает то, что видно на Python, как True, но не равно 1, поэтому ваше сравнение с 1 всегда возвращается False.