2014-09-22 2 views
3

Я новичок в scapy, и я стараюсь использовать функции и sr1, чтобы понять их работу.Новое для scapy. Попытка понять sr()

Я пытался создать следующий пакет, и я вижу, что он отправил 1 пакет, но он говорит, что он получил 581 пакет. Может кто-то, пожалуйста, помогите мне понять, почему он показывает так много полученных пакетов.

Полученное 1373 пакеты, получили 0 ответов, остальные 1 пакеты

>>> p=sr(IP(dst="192.168.25.1")/TCP(dport=23)) 
.Begin emission: 
.....Finished to send 1 packets. 
...............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................^C 
Received 581 packets, got 0 answers, remaining 1 packets 
>>> p 
(<Results: TCP:0 UDP:0 ICMP:0 Other:0>, <Unanswered: TCP:1 UDP:0 ICMP:0 Other:0>) 

Мой выход TCPDump не показывает, что он получил так много пакетов.

ответ

5

В sr() и sr1() функции будут посылать пакет и прослушивать сеть для соответствующих ответов в случае sr(), sr1() будет ждать только один ответ.

Пакеты, которые были получены, но не были ответами, - это пакеты, которые Scapy фыркнула, ища ответ на ваш первоначальный пакет. Я не уверен, как обнюхивание с помощью tcpdump, а также использование Scapy повлияет на ваши результаты - не уверен, к какому процессу будет передаваться ядро.

Вот отличный учебник по Sending and Receiving with Scapy от thePacketGeek.

Также не забудьте использовать атрибут __doc__ различных функций Scapy в интерпретаторе для получения соответствующей документации.

>>> print sr1.__doc__ 
Send packets at layer 3 and return only the first answer 
nofilter: put 1 to avoid use of bpf filters 
retry: if positive, how many times to resend unanswered packets 
      if negative, how many times to retry when no more packets are answered 
timeout: how much time to wait after the last packet has been sent 
verbose: set verbosity level 
multi: whether to accept multiple answers for the same stimulus 
filter: provide a BPF filter 
iface: listen answers only on the given interface 
>>> 
Смежные вопросы