xbase-util 0.6.4__tar.gz → 0.6.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {xbase_util-0.6.4 → xbase_util-0.6.6}/PKG-INFO +1 -1
- {xbase_util-0.6.4 → xbase_util-0.6.6}/setup.py +1 -1
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/packet_util.py +13 -26
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util.egg-info/PKG-INFO +1 -1
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util.egg-info/SOURCES.txt +0 -1
- xbase_util-0.6.4/test/test.py +0 -9
- {xbase_util-0.6.4 → xbase_util-0.6.6}/README.md +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/setup.cfg +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/__init__.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/add_column_util.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/dangerous_util.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/__init__.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/bean/ConfigBean.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/bean/CurrentConfigBean.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/bean/FlowBean.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/bean/TaskTemplateBean.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/bean/__init__.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/dao/ConfigDao.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/dao/CurrentConfigDao.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/dao/FlowDao.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/dao/TaskTemplateDao.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/dao/__init__.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/db/initsqlite3.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/es_db_util.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/esreq.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/geo_util.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/handle_features_util.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/pcap_util.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/xbase_constant.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util/xbase_util.py +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util.egg-info/dependency_links.txt +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util.egg-info/not-zip-safe +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util.egg-info/top_level.txt +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util_assets/GeoLite2-City.mmdb +0 -0
- {xbase_util-0.6.4 → xbase_util-0.6.6}/xbase_util_assets/arkimeparse.js +0 -0
@@ -96,14 +96,6 @@ def get_all_packets_by_reg(packets):
|
|
96
96
|
return packet_list
|
97
97
|
|
98
98
|
|
99
|
-
def get_body(packet):
|
100
|
-
try:
|
101
|
-
return "".join([item for item in packet.split("\r\n\r\n") if "HTTP/" not in item])
|
102
|
-
except Exception:
|
103
|
-
traceback.print_exc()
|
104
|
-
return ""
|
105
|
-
|
106
|
-
|
107
99
|
def get_header_value(header_set, value):
|
108
100
|
result = [item for item in header_set if value in item]
|
109
101
|
if len(result) != 0:
|
@@ -112,23 +104,20 @@ def get_header_value(header_set, value):
|
|
112
104
|
return ""
|
113
105
|
|
114
106
|
|
115
|
-
def get_detail_by_package(
|
107
|
+
def get_detail_by_package(publicField, req_header, req_body, res_header, res_body):
|
116
108
|
"""
|
117
109
|
通过pcap的数量分离session并完善相关字段
|
118
|
-
:param packets_from_pcap: 通过PcAp解析出的包
|
119
110
|
:param publicField: 原始的session单条数据
|
111
|
+
:param req_header:请求头
|
112
|
+
:param req_body:请求体
|
113
|
+
:param res_header:响应头
|
114
|
+
:param res_body:响应体
|
120
115
|
:return: 完整的单条数据
|
121
116
|
"""
|
122
117
|
res_field = publicField.copy()
|
123
|
-
if use_regx:
|
124
|
-
req = packets_from_pcap['req_text']
|
125
|
-
res = packets_from_pcap['res_text']
|
126
|
-
else:
|
127
|
-
res = packets_from_pcap["response"]
|
128
|
-
req = packets_from_pcap["request"]
|
129
118
|
res_field["initRTT"] = firstOrZero(res_field.get("initRTT", 0))
|
130
119
|
res_field["length"] = firstOrZero(res_field.get("length", 0))
|
131
|
-
request_lines =
|
120
|
+
request_lines = req_header.strip().split("\n")
|
132
121
|
http_request_lines = [item for item in request_lines if "HTTP" in item]
|
133
122
|
if len(http_request_lines) != 0:
|
134
123
|
first_line = http_request_lines[0].split(" ")
|
@@ -144,15 +133,13 @@ def get_detail_by_package(packets_from_pcap, publicField, use_regx):
|
|
144
133
|
value="Content-Type")
|
145
134
|
res_field['http.hostTokens'] = get_header_value(header_set=request_lines, value="Host")
|
146
135
|
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
response_lines = res.strip().split("\n")
|
136
|
+
res_field['plain_body_src'] = ""
|
137
|
+
res_field['plain_body_dst'] = ""
|
138
|
+
if content_type_is_plain(req_header):
|
139
|
+
res_field['plain_body_src'] = req_body
|
140
|
+
if content_type_is_plain(res_header):
|
141
|
+
res_field['plain_body_dst'] = res_body
|
142
|
+
response_lines = res_body.strip().split("\n")
|
156
143
|
http_response_lines = [item for item in response_lines if "HTTP" in item]
|
157
144
|
if len(http_response_lines) != 0:
|
158
145
|
first_line = http_response_lines[0].strip().split(" ")
|
xbase_util-0.6.4/test/test.py
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
from scapy.utils import rdpcap
|
2
|
-
|
3
|
-
from xbase_util.packet_util import get_all_packets_by_reg, get_body
|
4
|
-
|
5
|
-
if __name__ == '__main__':
|
6
|
-
p = get_all_packets_by_reg(rdpcap("t1.pcap"))
|
7
|
-
for packet in p:
|
8
|
-
print( packet['req_text'])
|
9
|
-
print(get_body(packet,is_req=True))
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|