Скапи нюхает тот же пакет, который я только что отправил - PullRequest
0 голосов
/ 18 мая 2018

У меня проблема с тем, что если я отправляю пакет и затем нюхаю ответ на этот отправленный пакет, моя функция s.sniff () возвращает только что отправленный пакет!

ex:

def sendOneFast(pkt):
    """
        Function: sendOneFast
        Purpose: Opens a layer 2 socket on interface, sends a packet on that socket.

        pkt -> Scapy packet to be sent
    """
    s = conf.L2socket(iface='Intel(R) Ethernet Connection (2) I219-LM #2')
    s.send(pkt)
    l = s.sniff(iface = 'Intel(R) Ethernet Connection (2) I219-LM #2', timeout = 0.03)
    return l

Когда я вызываю эту функцию для пакета, 'l' будет пакетом, который я отправил!Примечание: это работает правильно, когда я запускаю тот же код в Linux, но демонстрирует это поведение в Windows 7/10.

У меня установлен Python 2.7.X с последней версией Scapy.Что может быть основной причиной этой проблемы?

1 Ответ

0 голосов
/ 18 мая 2018

Я думаю, что оба поведения "нормальны" (основная причина различий, вероятно, кроется в архитектуре, зависящей от архитектуры Scapy), но вы не можете предполагать, что в этом случае вы увидите или не увидите свой собственный пакет (это можетможно назвать неопределенным поведением).

Из любопытства, какую именно версию вы используете?Последняя == текущая разработка, последняя стабильная версия (2.4.0) или текущая версия где-то упакованы?

Кстати, я не уверен, что именно вы пытаетесь сделать, но вы?известно, что существует sr(), srp()sr1(), srp1()), если вы хотите перехватывать ответы на ваши пакеты?

...