当前位置:   article > 正文

使用Dpkt解析包_dkpt 解析pcap 包 输出序号、时间戳、源地址、

dkpt 解析pcap 包 输出序号、时间戳、源地址、
  1. #!/usr/bin/python
  2. #coding=utf-8
  3. import dpkt
  4. import socket
  5. import optparse
  6.  
  7. def printPcap(pcap):
  8.     # 遍历[timestamp, packet]记录的数组
  9.     for (ts, buf) in pcap:
  10.         try:
  11.             # 获取以太网部分数据
  12.             eth = dpkt.ethernet.Ethernet(buf)
  13.             # 获取IP层数据
  14.             ip = eth.data
  15.             # 把存储在inet_ntoa中的IP地址转换成一个字符串
  16.             src = socket.inet_ntoa(ip.src)
  17.             dst = socket.inet_ntoa(ip.dst)
  18.             print '[+] 源地址: ' + src + ' --> 目标地址: ' + dst
  19.         except:
  20.             pass
  21.  
  22. def main():
  23.     parser = optparse.OptionParser('[*] Usage : ./pcapTest.py -f <file>')
  24.     parser.add_option('-f',dest='fileName',type='string',help='specify target filename')
  25.     (options,args) = parser.parse_args()
  26.     fileName = options.fileName
  27.  
  28.     if fileName == None:
  29.         print parser.usage
  30.         exit(0)
  31.     else:
  32.         #f = open('geotest.pcap')
  33.         f = open(fileName)
  34.         pcap = dpkt.pcap.Reader(f)
  35.         printPcap(pcap)
  36.  
  37. if __name__ == '__main__':
  38.     main()

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号