Пример данных:
{
10116079620: {'ip.dst': ['10.1.1.5'], 'ip.src': ['1.2.3.4'], 'category': ['Misc']},
10116882439: {'ip.dst': ['1.2.3.4'], 'ip.src': ['10.1.1.5'], 'category': ['Misc']},
10116080136: {'ip.dst': ['10.10.10.99'], 'ip.src': ['1.2.3.4'], 'category': ['Misc']},
10116884490: {'ip.dst': ['10.10.10.99'], 'ip.src': ['2.3.4.5'], 'alias': ['www.example.com'], 'category': ['Misc']},
10117039635: {'ip.dst': ['2.3.4.5'], 'ip.src': ['10.11.11.50'], 'alias': ['google.com'], 'category': ['Misc']},
10118099993: {'ip.dst': ['1.2.3.4'], 'ip.src': ['10.11.11.49'], 'alias': ['www.google.com'], 'category': ['Misc']},
10118083243: {'ip.dst': ['10.11.11.49'], 'ip.src': ['4.3.2.1'], 'alias': ['www.google.com'], 'category': ['Misc']}}
}
Цель:
Моя цель - найти в образце словаря значение (IP-адрес), о котором известно, что оно существует, хотя неизвестно, появится ли оно в ip.dst или ip.src. После обнаружения я хочу записать «противоположный» (другой) IP-адрес в новый список ... если искомый адрес был найден в ip.src, я хочу перехватить ip.dst и наоборот.
Найденный адрес может быть найден более одного раза - в результирующем списке не должно быть дубликатов.
При поиске 1.2.3.4 будет зафиксировано следующее:
* 10.1.1.5
* 10.10.10.99
* 10.11.11.49
При поиске 10.10.10.99 будет записано:
* 1.2.3.4
* 2.3.4.5
Это, я уверен, просто, но я застрял в грязных, вложенных петлях и мне нужна краткая процедура, более ясная, чем моя грязь.
Ваша помощь приветствуется.
Спасибо.