使用Dpkt解析包
#!/usr/bin/python
#coding=utf-8
import dpkt
import socket
import optparsedef printPcap(pcap):# 遍歷[timestamp, packet]記錄的數組for (ts, buf) in pcap:try:# 獲取以太網部分數據eth = dpkt.ethernet.Ethernet(buf)# 獲取IP層數據ip = eth.data# 把存儲在inet_ntoa中的IP地址轉換成一個字符串src = socket.inet_ntoa(ip.src)dst = socket.inet_ntoa(ip.dst)print '[+] 源地址: ' + src + ' --> 目標地址: ' + dstexcept:passdef main():parser = optparse.OptionParser('[*] Usage : ./pcapTest.py -f <file>')parser.add_option('-f',dest='fileName',type='string',help='specify target filename')(options,args) = parser.parse_args()fileName = options.fileNameif fileName == None:print parser.usageexit(0)else:#f = open('geotest.pcap')f = open(fileName)pcap = dpkt.pcap.Reader(f)printPcap(pcap)if __name__ == '__main__':main()
?
總結
- 上一篇: C语言,两个超大整型数乘法
- 下一篇: ROS报错:/usr/include/e