我想把收到的ICMP查询响应写到excel表格中,以下是示例代码。
from scapy.layers.inet import *
a1= IP(dst="192.168.1.1")/ICMP()
a = sr1(IP(dst="192.168.1.1")/ICMP(), iface="Wireless Network Connection", timeout=10)
b = a.summary()
# Create file workbook and worksheet
outworkbook = xlsxwriter.Workbook('output.xlsx')
outsheet = outworkbook.add_worksheet()
# writing headers
outsheet.write("A1", "Requests")
outsheet.write("B1", "Response")
# writing data
outsheet.write("A2", a1)
outsheet.write("B2", b)
创建的excel只有头,没有写响应值,我也试了一些其他的东西,但是到目前为止没有任何效果。
你有5个问题,我可以看到。
xlsxwriter
. 这对于成为一个 MCVE.a
, a1
和 b
应更多地描述(本回答 证明了为什么)ping
),然后在下一行再建立它。修正后的代码是这样的。
import xlsxwriter
from scapy.layers.inet import *
# My firewall is at 192.168.1.254 so use that address; en0 is my interface
ping_packet = IP(dst="192.168.1.254")/ICMP()
answer = sr1(ping_packet, iface="en0", timeout=10)
ping_summary = answer.summary()
# Create file workbook and worksheet
outworkbook = xlsxwriter.Workbook('output.xlsx')
outsheet = outworkbook.add_worksheet()
# writing headers
outsheet.write("A1", "Requests")
outsheet.write("B1", "Response")
# writing data
outsheet.write("A2", a1)
outsheet.write("B2", b)
# close file
outworkbook.close()