最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 抓包保存為pcap文件并解析的實(shí)例

 更新時(shí)間:2019年07月23日 11:15:34   作者:intfre  
今天小編就為大家分享一篇python 抓包保存為pcap文件并解析的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

首先是抓包,使用scapy模塊,

sniff()函數(shù) 在其中參數(shù)為本地文件路徑時(shí),操作為打開(kāi)本地文件

若參數(shù)為BPF過(guò)濾規(guī)則和回調(diào)函數(shù),則進(jìn)行Sniff,回調(diào)函數(shù)用于對(duì)Sniff到的數(shù)據(jù)包進(jìn)行處理

import os
from scapy.all import *
 
pkts=[]
count=0
pcapnum=0
filename=''
 
def test_dump_file(dump_file):
  print "Testing the dump file..."
  
  if os.path.exists(dump_file):
    print "dump fie %s found." %dump_file
    pkts=sniff(offline=dump_file)
    count = 0
    while (count<=2):                   
      print "----Dumping pkt:%s----" %dump_file
      print hexdump(pkts[count])
      count +=1
  else:
    print "dump fie %s not found." %dump_file
 
def write_cap(x):
  global pkts
  global count
  global pcapnum
  global filename
  pkts.append(x)
  count +=1
  if count ==3:             <span style="font-family: Arial, Helvetica, sans-serif;">#每3個(gè)TCP操作封為一個(gè)包(為了檢測(cè)正確性,使用時(shí)盡量增多)</span>
 
  
  pcapnum +=1
  pname="pcap%d.pcap"%pcapnum
  wrpcap(pname,pkts)
  filename ="./pcap%d.pcap"%pcapnum
  test_dump_file(filename)
  pkts=[]
  count=0
    
 
 
 
if __name__=='__main__':
  print "Start packet capturing and dumping ..."
  sniff(filter="dst net 127.0.0.1 and tcp",prn=write_cap)   #BPF過(guò)濾規(guī)則

下面是對(duì)pcap文件的解析,會(huì)自動(dòng)查找下一個(gè)pcap文件,按照src.ip和dst.ip進(jìn)行劃分

# -*- coding: cp936 -*-
import re
import zlib
import os
 
from scapy.all import *
num=1
a=rdpcap("pcap1.pcap")               #循環(huán)打開(kāi)文件
while True:
  try:
    num+=1
    file_name="pcap%d.pcap" % num
    b=rdpcap(file_name)
    a=a+b
  except:
    break
    print "[*] Read pcap file ok"
  
 
 
print "[*] Begin to parse pcapfile..."
print a
try:
  #print "[*] OPen new pcap_file %s" % pcap_file
  sessions=a.sessions()
  for session in sessions:
    print "[*]New session %s" % session
    data_payload=""
    for packet in sessions[session]:
      try:
        data_payload +=str(packet[TCP].payload)
        print "[**] Data:%s" % data_payload
      except:
        pass
except:
  print "[*]no pcapfile..."

以上這篇python 抓包保存為pcap文件并解析的實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python使用jsonpath_ng的方法

    Python使用jsonpath_ng的方法

    json path_ng 是 Python 中一款解析和操作 JSON 數(shù)據(jù)的工具,它可以通過(guò) JSONPath 語(yǔ)法來(lái)對(duì) JSON 數(shù)據(jù)進(jìn)行定位和提取,其用法類似于 XPath 語(yǔ)法對(duì) XML 數(shù)據(jù)進(jìn)行定位,這篇文章主要介紹了Python使用jsonpath_ng的方法,需要的朋友可以參考下
    2023-12-12
  • python通過(guò)getopt模塊如何獲取執(zhí)行的命令參數(shù)詳解

    python通過(guò)getopt模塊如何獲取執(zhí)行的命令參數(shù)詳解

    這篇文章主要給大家介紹了關(guān)于python通過(guò)getopt模塊如何獲取執(zhí)行的命令參數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • tensorflow dataset.shuffle、dataset.batch、dataset.repeat順序區(qū)別詳解

    tensorflow dataset.shuffle、dataset.batch、dataset.repeat順序區(qū)別詳

    這篇文章主要介紹了tensorflow dataset.shuffle、dataset.batch、dataset.repeat順序區(qū)別詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • pytorch使用 to 進(jìn)行類型轉(zhuǎn)換方式

    pytorch使用 to 進(jìn)行類型轉(zhuǎn)換方式

    今天小編就為大家分享一篇pytorch使用 to 進(jìn)行類型轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • mac系統(tǒng)下Redis安裝和使用步驟詳解

    mac系統(tǒng)下Redis安裝和使用步驟詳解

    這篇文章主要介紹了mac下Redis安裝和使用步驟詳解,并將python如何操作Redis做了簡(jiǎn)單介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 詳細(xì)解析Python中的變量的數(shù)據(jù)類型

    詳細(xì)解析Python中的變量的數(shù)據(jù)類型

    這篇文章主要介紹了詳細(xì)解析Python中的變量的數(shù)據(jù)類型,是Python學(xué)習(xí)當(dāng)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • VScode編寫(xiě)第一個(gè)Python程序HelloWorld步驟

    VScode編寫(xiě)第一個(gè)Python程序HelloWorld步驟

    VScode是微軟去年推出的一款輕量級(jí)編輯器,功能上和Atom、Sublime Text、Vim類似,你可以通過(guò)配置將它打造成合適的IDE,這里簡(jiǎn)單介紹一下,需要的朋友可以參考下
    2018-04-04
  • Python利用os模塊實(shí)現(xiàn)自動(dòng)刪除磁盤(pán)文件

    Python利用os模塊實(shí)現(xiàn)自動(dòng)刪除磁盤(pán)文件

    你們一定想不到os模塊還可以這樣玩,本文就將利用Python中的os模塊實(shí)現(xiàn)自動(dòng)刪除磁盤(pán)文件功能,文中的示例代碼講解詳細(xì),感興趣的可以嘗試一下
    2022-11-11
  • Flask之flask-script模塊使用

    Flask之flask-script模塊使用

    Flask Script擴(kuò)展提供向Flask插入外部腳本的功能,這篇文章主要介紹了Flask之flask-script模塊使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • Python高級(jí)特性切片(Slice)操作詳解

    Python高級(jí)特性切片(Slice)操作詳解

    在Python中對(duì)于具有序列結(jié)構(gòu)的數(shù)據(jù)來(lái)說(shuō)都可以使用切片操作,需注意的是序列對(duì)象某個(gè)索引位置返回的是一個(gè)元素,而切片操作返回是和被切片對(duì)象相同類型對(duì)象的副本。
    2018-09-09

最新評(píng)論

宜春市| 滦平县| 崇明县| 重庆市| 芒康县| 青岛市| 通化市| 环江| 仪陇县| 徐水县| 弥勒县| 铜山县| 穆棱市| 芒康县| 车险| 诸城市| 文山县| 齐齐哈尔市| 来宾市| 上虞市| 如皋市| 崇阳县| 鄂州市| 蒲江县| 丹巴县| 大埔县| 阳信县| 雷州市| 朝阳市| 肇源县| 承德县| 河间市| 务川| 台中县| 南木林县| 巴马| 古蔺县| 临湘市| 岑巩县| 师宗县| 磐石市|