我的数据包嗅探器何时不捕获任何数据包?

时间:2019-04-20 11:47:55

标签: python-3.x macos packet-sniffers

此代码在应有的情况下不会捕获任何数据包。我在Mac OS上。

我已经搜索了堆栈,但由于是为Windows,Linux或python 2编写的,所以没有代码起作用。

import socket
import time
import datetime
import os
host = "127.0.0.1"
s = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_TCP)
s.bind((host, 0))
s.setsockopt(socket.IPPROTO_IP, socket.IP_HDRINCL, 1)
amount = 0
print('------------------------------------------------------------------------')
print('[*]TIME:'+str(datetime.datetime.fromtimestamp(time.time())))
print('------------------------------------------------------------------------')
print('[+]CAPTURING PACKETS')
print('------------------------------------------------------------------------')
print('')
while True:
    amount = amount + 1

    create = open(('PACKET '+str(amount)+'.txt'),'w+')
    create.write('')
    f = open(('PACKET '+str(amount)+'.txt'),'w')
    PACKET = s.recvfrom(65565)
    f.write(PACKET)
    print('--------------------------------------------------------------------')
    print('[*]TIME:'+str(datetime.datetime.fromtimestamp(time.time())))
    print('--------------------------------------------------------------------')
    print('[+]PACKET '+str(amount))
    print('--------------------------------------------------------------------')

    print('')
    f.close()
    create.close() 

我希望它能够捕获数据包,但是什么也没发生。

1 个答案:

答案 0 :(得分:0)

我不熟悉套接字编码,但是熟悉捕获数据包。

据我所知,您必须具有可以在显示器模式下打开的无线网卡。

是一种模式,它甚至可以捕获数据包。

作为一个简单的建议,尝试暂时不使用文件运行程序,

仅打印输出并检查您得到了什么,因为文件已关闭,所以检查一下情况可能是个好主意。