soe_network_parser_lib/modules/
pcap_struct.rs

1use serde_derive::Deserialize;
2use serde_derive::Serialize;
3use serde_json::Value;
4#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
5#[serde(rename_all = "camelCase")]
6pub struct Packet {
7    #[serde(rename = "_index")]
8    pub index: String,
9    #[serde(rename = "_type")]
10    pub type_field: String,
11    #[serde(rename = "_score")]
12    pub score: Value,
13    #[serde(rename = "_source")]
14    pub source: Source,
15}
16
17#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
18#[serde(rename_all = "camelCase")]
19pub struct Source {
20    pub layers: Layers,
21}
22
23#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
24#[serde(rename_all = "camelCase")]
25pub struct Layers {
26    pub raw: String,
27    pub udp: Option<Udp>,
28    pub data: Option<Data>,
29}
30
31#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
32#[serde(rename_all = "camelCase")]
33pub struct IpDsfieldTree {
34    #[serde(rename = "ip.dsfield.dscp")]
35    pub ip_dsfield_dscp: String,
36    #[serde(rename = "ip.dsfield.ecn")]
37    pub ip_dsfield_ecn: String,
38}
39
40#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
41#[serde(rename_all = "camelCase")]
42pub struct IpFlagsTree {
43    #[serde(rename = "ip.flags.rb")]
44    pub ip_flags_rb: String,
45    #[serde(rename = "ip.flags.df")]
46    pub ip_flags_df: String,
47    #[serde(rename = "ip.flags.mf")]
48    pub ip_flags_mf: String,
49}
50
51#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
52#[serde(rename_all = "camelCase")]
53pub struct Udp {
54    #[serde(rename = "udp.srcport")]
55    pub udp_srcport: String,
56    #[serde(rename = "udp.dstport")]
57    pub udp_dstport: String,
58    #[serde(rename = "udp.length")]
59    pub udp_length: String,
60    #[serde(rename = "udp.checksum")]
61    pub udp_checksum: String,
62    #[serde(rename = "udp.checksum.status")]
63    pub udp_checksum_status: String,
64    #[serde(rename = "udp.stream")]
65    pub udp_stream: String,
66    #[serde(rename = "Timestamps")]
67    pub timestamps: Timestamps,
68    #[serde(rename = "udp.payload")]
69    pub udp_payload: String,
70}
71
72#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
73#[serde(rename_all = "camelCase")]
74pub struct Timestamps {
75    #[serde(rename = "udp.time_relative")]
76    pub udp_time_relative: String,
77    #[serde(rename = "udp.time_delta")]
78    pub udp_time_delta: String,
79}
80
81#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
82#[serde(rename_all = "camelCase")]
83pub struct Data {
84    #[serde(rename = "data.data")]
85    pub data_data: String,
86    #[serde(rename = "data.len")]
87    pub data_len: String,
88}