Scapy - Как я могу скрыть отчет sendp \ sr1 и просто получить окончательный?

Я работаю с scapy, и я начал изучать, как создавать пакеты (если у кого-то есть хороший пример в Интернете, чтобы поучиться на нем - это будет здорово! Спасибо.).

У меня есть следующая команда в scapy:

srp(Ether(dst='ff:ff:ff:ff:ff:ff')/ARP(pdst=ip)/Padding(load='\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'),timeout=2)

Которые отправляют пакет arp на уровне 2. Когда я выполняю эту команду, он дает мне следующий ответ:

ВНИМАНИЕ: не найден маршрут для пункта назначения IPv6 :: (нет маршрута по умолчанию?) Начало передачи: * Завершена отправка 1 пакета.

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

00:50:56:e9:b8:b1

для следующего кода:

def Arp_Req(ip):
        packet = srp(Ether(dst='ff:ff:ff:ff:ff:ff')/ARP(pdst=ip)/Padding(load='\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'),timeout=2)
        try:
                packet[0][0]
                return packet[0][0][1].hwsrc
        except IndexError:
                return "(E2)CANT FIND AN ANSWER FOR "+ip+"."

Я хочу скрыть весь отчет и распечатать только ответный ответ. Как я могу это сделать?


person jony    schedule 21.07.2016    source источник


Ответы (1)


Часть вывода здесь исходит из предупреждения из-за IPv6, которого вы можете избежать, отключив поддержку IPv6 (из scapy), но у вас также есть вывод, сгенерированный самой функцией srp(), и для этого вам нужно установить аргумент verbose:

from scapy.config import conf  
conf.ipv6_enabled = False
from scapy.all import *

def Arp_Req(ip):
    packet = srp(Ether(dst='ff:ff:ff:ff:ff:ff')/ARP(pdst=ip)/Padding(load='\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'),timeout=2, verbose=0)
    try:
        packet[0][0]
        return packet[0][0][1].hwsrc
    except IndexError:
        return "(E2)CANT FIND AN ANSWER FOR "+ip+"."

# example
print Arp_Req("192.168.0.254")
person Pierre    schedule 21.07.2016