2015-09-30 3 views
0

Это моя строка кода:Python3 scapy с помощью лямбда (где он работает в 2.7)

ans,unans=srp(Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="192.168.5.0/24"),timeout=2) 
ans.summary(lambda (s,r): r.sprintf("IP: %ARP.psrc% MAC: %Ether.src%") 

с помощью Python 2.7, он сканирует и печатает хосты с помощью агр пинг сканирование Использование python3, это не работать и воспитывать эту ошибку:

File "arp1.py", line 9 
    ans.summary(lambda (s,r): r.sprintf("IP: %ARP.psrc% MAC: %Ether.src%") 
        ^
SyntaxError: invalid syntax 
+4

См http://stackoverflow.com/q/10607293/3001761 – jonrsharpe

+0

@jonrsharpe честно говоря, я до сих пор не знаю, как решить эту проблему –

+0

меняющийся лямбда s_r: r.sprintf ---- говорит, что r не задано –

ответ

0

Хорошо, выяснили это может заменить вторую строку:

for snd,rcv in ans: 
     print (rcv.sprintf(r"%ARP.psrc% & %Ether.src%")) 

Поскольку python3 сделал «Удаление кортежа параметра Распаковка»

Смежные вопросы