سلام دوستان
در برنامه ای می خوام پکت کپچر رو تست کنم .نمیدونم چرا هیچ دیوایسی رو قبول نمیکنه؟ تو لینوکس این رو اجرا می کنم. مشکل از سیستم عامل یا چیز دیگه ای؟
اگر میشه حتما کمک کنید.مرسی
import pcapy
import dpkt
class network_monitor:
def __init__ (self):
pass
def start (self):
# TODO: specify a device or select all devices
# dev = pcapy.findalldevs()[0]
dev = 'en1'
p = pcapy.open_live(dev, 65536, False, 1)
p.loop(-1, self.handle_packet)
def handle_packet (self, header, data):
eth = dpkt.ethernet.Ethernet (data)
# print "%04X" % eth.type
if eth.type == dpkt.ethernet.ETH_TYPE_IP:
ip = eth.data
ip_data = ip.data
if isinstance (ip_data, dpkt.udp.UDP):
udp = ip_data
if udp.sport == 137:
nb = dpkt.netbios.NS(udp.data)
print "NetBIOS:"
for q in nb.qd:
print 'qd:', dpkt.netbios.decode_name(q.name)
for a in nb.an:
print 'an:', dpkt.netbios.decode_name(a.name)
for n in nb.ns:
print 'ns:'. dpkt.netbios.decode_name(n.name)
print ''
if udp.dport == 5353:
mdns = dpkt.dns.DNS (udp.data)
print "MDNS:"
print mdns.qd
print mdns.an
print mdns.ns
def main():
network_monitor ().start ()
if __name__=="__main__":
main ()
ارورش اینه که : p = pcapy.open_live(dev, 65536, False, 1)
PcapError: en1: You don't have permission to capture on that device (socket: Operation not permitted)
>>>