Python来记录scapy扫描

Python来记录scapy扫描,python,csv,router,scapy,openwrt,Python,Csv,Router,Scapy,Openwrt,我正在使用Scapy扫描我们办公环境中的无线探头。我使用的是OpenWrt路由器。我正在使用Python脚本(见下文)。现在我需要帮助,让Scapy记录启动路由器时运行的扫描。在记录扫描结果(每个探测)时,我想让脚本将包含信息(包括时间戳)的每个探测作为逗号分隔列记录到CSV中。CSV可以保存到路由器上连接的USB存储器中/mnt/sda1/ 第二种选择是使用指定的URL直接向Web服务报告日志 运行脚本时的输出行现在为: “捕获的探测请求: 目标:ff:ff:ff:ff:ff:ff来源:xx:

我正在使用Scapy扫描我们办公环境中的无线探头。我使用的是OpenWrt路由器。我正在使用Python脚本(见下文)。现在我需要帮助,让Scapy记录启动路由器时运行的扫描。在记录扫描结果(每个探测)时,我想让脚本将包含信息(包括时间戳)的每个探测作为逗号分隔列记录到CSV中。CSV可以保存到路由器上连接的USB存储器中
/mnt/sda1/

第二种选择是使用指定的URL直接向Web服务报告日志

运行脚本时的输出行现在为: “捕获的探测请求: 目标:ff:ff:ff:ff:ff:ff来源:xx:xx:xx:xx:xx:xx SSID:wifi RSSi:-76

现在在路由器上工作的脚本:

from scapy.all import *

PROBE_REQUEST_TYPE=0
PROBE_REQUEST_SUBTYPE=4

WHITELIST = ['00:00:00:00:00:00',] # Replace this with your phone's MAC address


def PacketHandler(pkt):
if pkt.haslayer(Dot11):
    if pkt.type==PROBE_REQUEST_TYPE and pkt.subtype == PROBE_REQUEST_SUBTYPE and ( pkt.addr2.lower() not in WHITELIST or pkt.addr2.upper() not in WHITELIST):
        PrintPacket(pkt)

def PrintPacket(pkt):
print "Probe Request Captured:"
try:
    extra = pkt.notdecoded
except:
    extra = None
if extra!=None:
    signal_strength = -(256-ord(extra[-4:-3]))
else:
    signal_strength = -100
    print "No signal strength found"    
print "Target: %s Source: %s SSID: %s RSSi: %d"%(pkt.addr3,pkt.addr2,pkt.getlayer(Dot11ProbeReq).info,signal_strength)

def main():
from datetime import datetime
print "[%s] Starting scan"%datetime.now()
print "Scanning for:"
print "\n"
sniff(iface=sys.argv[1],prn=PacketHandler,store=0)

if __name__=="__main__":
    main()