traffic-taffy 0.5.5__tar.gz → 0.5.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.
Files changed (35) hide show
  1. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/PKG-INFO +1 -1
  2. traffic_taffy-0.5.6/traffic_taffy/__init__.py +1 -0
  3. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/dissection.py +20 -0
  4. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/dissectmany.py +10 -1
  5. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tools/dissect.py +7 -1
  6. traffic_taffy-0.5.5/traffic_taffy/__init__.py +0 -1
  7. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/.gitignore +0 -0
  8. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/README.md +0 -0
  9. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/pyproject.toml +0 -0
  10. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/compare.py +0 -0
  11. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/comparison.py +0 -0
  12. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/dissector.py +0 -0
  13. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/dissector_engine/__init__.py +0 -0
  14. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/dissector_engine/dpkt.py +0 -0
  15. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/dissector_engine/scapy.py +0 -0
  16. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/dissectorresults.py +0 -0
  17. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/graph.py +0 -0
  18. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/graphdata.py +0 -0
  19. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/output/__init__.py +0 -0
  20. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/output/console.py +0 -0
  21. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/output/fsdb.py +0 -0
  22. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/output/memory.py +0 -0
  23. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tests/test_compare_results.py +0 -0
  24. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tests/test_dict_merge.py +0 -0
  25. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tests/test_normalize.py +0 -0
  26. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tests/test_pcap_dissector.py +0 -0
  27. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tests/test_pcap_splitter.py +0 -0
  28. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tests/test_result_storage.py +0 -0
  29. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tests/test_value_printing.py +0 -0
  30. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tools/__init__.py +0 -0
  31. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tools/cache_info.py +0 -0
  32. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tools/compare.py +0 -0
  33. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tools/explore.py +0 -0
  34. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tools/export.py +0 -0
  35. {traffic_taffy-0.5.5 → traffic_taffy-0.5.6}/traffic_taffy/tools/graph.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: traffic-taffy
3
- Version: 0.5.5
3
+ Version: 0.5.6
4
4
  Summary: A tool for doing differential analysis of pcap files
5
5
  Project-URL: Homepage, https://github.com/hardaker/traffic-taffy
6
6
  Author-email: Wes Hardaker <opensource@hardakers.net>
@@ -0,0 +1 @@
1
+ __VERSION__ = "0.5.6"
@@ -283,6 +283,26 @@ class Dissection:
283
283
 
284
284
  # save it
285
285
  info(f"caching PCAP data to '{where}'")
286
+
287
+ # convert int keys that are too large
288
+ for timestamp in versioned_cache["dissection"]:
289
+ for key in versioned_cache["dissection"][timestamp]:
290
+ versioned_cache["dissection"][timestamp][key] = dict(
291
+ versioned_cache["dissection"][timestamp][key]
292
+ )
293
+ # sigh -- msgpack can't handle large int based dictionary keys
294
+ fix_list = []
295
+ for subkey in versioned_cache["dissection"][timestamp][key]:
296
+ if isinstance(subkey, int) and subkey > 2**32 - 1:
297
+ info(f"converting {key} {subkey}")
298
+ fix_list.append(subkey)
299
+
300
+ for subkey in fix_list:
301
+ versioned_cache["dissection"][timestamp][key][
302
+ str(subkey)
303
+ ] = versioned_cache["dissection"][timestamp][key][subkey]
304
+ del versioned_cache["dissection"][timestamp][key][subkey]
305
+
286
306
  with open(where, "wb") as saveto:
287
307
  msgpack.dump(versioned_cache, saveto)
288
308
 
@@ -83,7 +83,16 @@ class PCAPDissectMany:
83
83
 
84
84
  return dissection
85
85
 
86
- def load_all(self, return_as_list: bool = False):
86
+ def load_all(self, return_as_list: bool = False, dont_fork: bool = False):
87
+ if dont_fork:
88
+ # handle each one individually -- typically for inserting debugging stops
89
+ dissections = []
90
+ for pcap_file in self.pcap_files:
91
+ dissection = self.load_pcap(pcap_file)
92
+ dissections.append(dissection)
93
+ return dissections
94
+
95
+ # use all available resources
87
96
  with ProcessPoolExecutor() as executor:
88
97
  dissections = executor.map(self.load_pcap, self.pcap_files)
89
98
  if return_as_list: # convert from generator
@@ -33,6 +33,12 @@ def main():
33
33
  help="Print results in an FSDB formatted output",
34
34
  )
35
35
 
36
+ parser.add_argument(
37
+ "--dont-fork",
38
+ action="store_true",
39
+ help="Do not fork into multiple processes per file (still fork per file)",
40
+ )
41
+
36
42
  dissector_add_parseargs(parser)
37
43
  limitor_add_parseargs(parser)
38
44
 
@@ -61,7 +67,7 @@ def main():
61
67
  force_overwrite=args.force_overwrite,
62
68
  force_load=args.force_load,
63
69
  )
64
- dissections = pdm.load_all(True)
70
+ dissections = pdm.load_all(True, dont_fork=args.dont_fork)
65
71
 
66
72
  # merge them into a single dissection
67
73
  dissection = dissections.pop(0)
@@ -1 +0,0 @@
1
- __VERSION__ = "0.5.5"
File without changes
File without changes