數據整理——剔除數據包中的指定位置的數據

在做以太網相關工作,抓包器抓來了一大堆東西,用MATLAB寫了個小程序,剔除無效數據。記錄分享一下。

適用與數據包的格式固定:包中有效數據長度、位置固定,包中無效數據長度、位置固定。

大多數通信協議都符合這個條件,比如以太網協議中的UDP/IP協議:除了藍色框內的數據以外,全是報頭,要剔除。

clc;
clear all;

len_invalid = 2;%無效數據的長度
len_valid = 3;%有效數據的長度
len_packet = len_valid + len_invalid;%數據包總長度
count = 3;%數據包數目

data = textread('test.txt')';
[hang , lie] = size(data);
data = reshape(data,1,hang * lie);
z = [1:len_invalid];
for i = 1 : count - 1
    j = [1+i*len_packet : len_invalid+i*len_packet];
    z = [z,j];
end

data(z) = [];
data

例:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章