2016-01-13 4 views
0

Итак, я пытаюсь получить исходный IP-адрес пакета, который я получаю с помощью Scapy, но он просто не работает. Программа вылетает, как только я пытаюсь напечатать IP.Получение исходного IP-пакета с помощью Scapy

Я посылаю этот пакет

send(IP(dst="10.0.0.12")/UDP(dport=53)) 

И это получило, я убедился в том, что я даже напечатал «Картофель» после того, как я получил его, и он работал. Теперь я пытаюсь напечатать исходный IP с этим

from scapy.all import * 
import sys 
import time 

rcvPkt = sniff(count = 1, filter = "port 53") 
print rcvPkt.getlayer(IP).src 

Но всякий раз, когда я делаю это, он говорит, что «список» объект не имеет атрибута «Src». Что я делаю?

+0

Это смешно. Я получаю это: 'AttributeError: 'list' объект не имеет атрибута 'getlayer'' –

ответ

0

sniff() возвращает список-подобный объект, содержащий все обнюхиваемые пакеты, но вы рассматриваете его как отдельный пакет. Попробуйте следующее:

>>> print rcvPkt[0].getlayer(IP).src 
192.168.42.1 
Смежные вопросы