Guest User

Untitled

a guest
Jul 20th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. 1.3.6.1.4.1.11123.1.1.0.33 0x05222841 1.3.6.1.4.1.11123.1.1.45(1,0)
  2. # sDescription
  3. 1.3.6.1.4.1.11123.1.1.47(3,0)
  4. # sTime
  5. 1.3.6.1.4.1.11123.1.1.50(4,0)
  6. # sSensor
  7. 1.3.6.1.4.1.11123.1.1.51(5,0)
  8.  
  9. # cNotif cInstanceId
  10. 1.3.6.1.4.1.9.9.446.2.0.1 0x0991808 1.3.6.1.4.1.9.9.446.2.1.1.1.1.1(1,0)
  11. # cDescr
  12. 1.3.6.1.4.1.9.9.446.2.1.1.1.1.11(2,0)
  13. # cInstId
  14. 1.3.6.1.4.1.9.9.446.2.1.1.1.1.13(12,0)
  15.  
  16. 1.3.6.1.4.1.2231.1.1.0.33 0x0861841 1.3.6.1.4.1.2231.1.1.45(1,0)
  17.  
  18. 1.3.6.1.4.1.2234.1.1.0.33 0x06761841 1.3.6.1.4.1.2234.1.1.33(2,0)
  19.  
  20. 1.3.6.1.4.1.17163.1.1.4.6.4 0x0986002e
  21.  
  22. 1.3.6.1.4.1.94.1.21.1.6.12 0x08960034 1.3.6.1.4.1.94.1.21.1.3.1.1.1(1,2)
  23.  
  24. import os
  25. import sys
  26. import re
  27.  
  28. def overlapped_trap_types(entry_set1, entry_set2):
  29.  
  30. trap_type_set1 = set()
  31. trap_type_set2 = set()
  32.  
  33. for entry in entry_set1:
  34.  
  35. trap_type_set1.add((entry[0],))
  36.  
  37. for entry in entry_set2:
  38. trap_type_set2.add((entry[0],))
  39.  
  40. return trap_type_set1 & trap_type_set2
  41.  
  42. def overlapped_trap_with_event_code(entry_set1, entry_set2):
  43.  
  44. trap_type_set1 = set()
  45. trap_type_set2 = set()
  46.  
  47. for entry in entry_set1:
  48.  
  49. trap_type_set1.add((entry[0],hex(int(entry[1], 16))))
  50.  
  51. for entry in entry_set2:
  52. trap_type_set2.add((entry[0],hex(int(entry[1], 16))))
  53.  
  54. return trap_type_set1 & trap_type_set2
  55.  
  56. def alert_map_files(dir):
  57. for root, dirs, files in os.walk(dir):
  58. for name in files:
  59. if name == 'AlertMap':
  60. yield os.path.join(root, name)
  61.  
  62. def alert_map_entries(file_paths):
  63. entry_pattern = r'(?<!\n)^((?:[1-9][0-9]{0,3}|0)(?:.(?:[1-9][0-9]*|0))+)'
  64. r'[^Srn]*'
  65. r'(0x[0-9A-F]+)'
  66. r'[^Srn]*'
  67. r'((?:[1-9][0-9]{0,3}|0)(?:.(?:[1-9][0-9]*|0))+([^()]*))?'
  68. entry_re = re.compile(entry_pattern, re.MULTILINE)
  69. for path in file_paths:
  70. with open(path) as f:
  71. for entry in entry_re.findall(f.read()):
  72. yield entry
  73.  
  74. if __name__ == '__main__':
  75. alert_map_entry_set1 = set(alert_map_entries(alert_map_files(sys.argv[1])))
  76. alert_map_entry_set2 = set(alert_map_entries(alert_map_files(sys.argv[2])))
  77. print('nnnn**********************************************************************')
  78.  
  79. overlapped_trap_type_set = overlapped_trap_types(alert_map_entry_set1, alert_map_entry_set2)
  80. print('Overlapped trap types across ENT vs CMNY: ', overlapped_trap_type_set.__len__())
  81. print('For example:')
  82. iterator = iter(overlapped_trap_type_set)
  83. print("One trap type is: {}".format(next(iterator)))
  84. print("Another one is: {} and so on...n".format(next(iterator)))
  85.  
  86. overlapped_trap_type_with_event_code_set = overlapped_trap_with_event_code(alert_map_entry_set1, alert_map_entry_set2)
  87. print('Overlapped trap types with their event codes across ENT vs CMNY: ', overlapped_trap_type_with_event_code_set.__len__())
  88. print('For example:')
  89. iterator = iter(overlapped_trap_type_with_event_code_set)
  90. print('One trap type with event code: {}'.format(next(iterator)))
  91. print('Another one is: {} and so on...'.format(next(iterator)))
  92.  
  93. print('**********************************************************************')
Add Comment
Please, Sign In to add comment