如何将 Scapy 中的数据写入 CSV 文件

How do I write the data from Scapy into a CSV file

我使用 Scapy 提取了以太网帧长度、IP 负载大小和 header 长度我想将此信息写入 csv 文件以供进一步检查

from scapy.all import *

pcap = rdpcap('example.pcap')
out = open("out.csv", "wb")

for pkts in pcap:
    ethernet_header = (len(pkts)) # IP payload size
    ip_pload = (len(pkts.payload) - 20) # Ethernet frame length
    ip_header = (len(pkts.payload)) # Total length IP header
    print(ip_pload, len(pkts), ip_header)

    out.write(ethernet_header, ip_pload, ip_header)


使用builtin csv.writer,非常好用:

import csv
with open('out.csv', 'w') as csvfile:
    writer = csv.writer(csvfile)
    for pkts in pcap:
        ethernet_header = (len(pkts)) # IP payload size
        ip_pload = (len(pkts.payload) - 20) # Ethernet frame length
        ip_header = (len(pkts.payload)) # Total length IP header
        writer.writerow([ethernet_header, ip_pload, ip_header])