-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtestpcap2csv.js
More file actions
74 lines (68 loc) · 2.21 KB
/
testpcap2csv.js
File metadata and controls
74 lines (68 loc) · 2.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
var pcap2csv = require('pcap2csv');
var fs = require('fs');
var csv = require('fast-csv');
var w1 = '';
var w2 = '';
// pcap2csv('/home/watch1/ayesh-server/Watch1CodeServer/pcaps','tcp'); //change "tcp" to "udp" if needed
var stream = fs.createReadStream("/home/watch1/ayesh-server/Watch1CodeServer/pcaps/throughput.csv");
var ws = fs.createWriteStream("/home/watch1/ayesh-server/Watch1CodeServer/pcaps/final.csv");
var fullw1 = '';
var fullw2 = '';
var fullw3 = '';
var w1_A2B_avg = 0;
var w1_B2A_avg = 0;
var w2_A2B_avg = 0;
var w2_B2A_avg = 0;
var w3_A2B_avg = 0;
var w3_B2A_avg = 0;
var w1_count = 0;
var w2_count = 0;
var w3_count = 0;
csv
.fromStream(stream, {headers : true})
.on("data", function(data){
if(w1_count == 0){
console.log('true');
w1_count ++;
fullw1 = data.A;
w1_A2B_avg += Number(data['AtoB (bit/s)']);
w1_B2A_avg += Number(data['BtoA (bit/s)']);
w1 = data.A.split(':')[0];
}
else if(data.A.split(":")[0] == w1){
console.log('true2');
w1_A2B_avg += Number(data['AtoB (bit/s)']);
w1_B2A_avg += Number(data['BtoA (bit/s)']);
w1_count ++;
} else if(w2_count == 0) {
w2_count ++;
w2 = data.A.split(':')[0];
console.log('False');
fullw2 = data.A;
w2_A2B_avg += Number(data['AtoB (bit/s)']);
w2_B2A_avg += Number(data['BtoA (bit/s)']);
} else if(data.A.split(':')[0] == w2){
console.log('False');
w2_A2B_avg += Number(data['AtoB (bit/s)']);
w2_B2A_avg += Number(data['BtoA (bit/s)']);
w2_count ++;
} else {
fullw3 = data.A;
w3_A2B_avg += Number(data['AtoB (bit/s)']);
w3_B2A_avg += Number(data['BtoA (bit/s)']);
w3_count ++;
}
})
.on("end", function(){
console.log("done");
console.log(w1_count);
console.log(w2_count);
console.log(fullw1 + ":"+fullw2);
console.log(w2_A2B_avg/w2_count);
console.log(w2_B2A_avg/w2_count);
csv.write([
{A:fullw1, B:'192.168.0.110', 'AtoB (bits/s)': w1_A2B_avg/w1_count, 'BtoA (bit/s)':w1_B2A_avg/w1_count},
],{headers:true}).pipe(ws).on('finish',()=>{
console.log('Finished final csv File..');
})
});