2015-10-03 1 views
1

Я использую Python 2.7.9 и scapy (2.2.0)питон не recogonizing IP

При взаимодействии с scapy или Python интерактивной оболочки непосредственно и нюхать пакеты, я могу нормально использовать IP-адрес, чтобы извлечь источник и назначение IP-адрес, но при попытке поставить код в .py файл, а затем запустить:

python file.py 

Он говорит:

NameError: global name 'IP' is not defined 

file.py

from scapy.all import * 

def main(): 
    sniffed=sniff(iface='eth0',count=10) 
    print (sniffed[1][IP].src) 

ответ

0

Функция sniff возвращает список пакетов. Второй элемент, который вы запрашиваете (с использованием [1]), является пакетом. Распечатайте его, используя packet.sprintf('%.time% %-15s,IP.src% -> %-15s,IP.dst% %IP.chksum% " "%03xr,IP.proto% %r,TCP.flags%').

Также смотрите в documentation.

+0

Почему он не подбрасывал 'NameError: name 'IP' не определен'? –