Почему в моей Windows сотни временных адресов IPv6?

17

Мой провайдер включил IPv6 для меня несколько недель назад. Теперь я заметил, что Windows (8.1) получает много временных адресов IPv6. ipconfigимеет следующий вывод (реальные адреса запутаны):

Windows IP Configuration

Ethernet adapter Ethernet:

    Connection-specific DNS Suffix  . : fritz.box
    IPv6 Address. . . . . . . . . . . : 2012:65:fd85:5712:e0ca:9e76:661f:c4f1
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:74:5cd9:163c:69ef
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:89:8f2:7643:e51e
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:e3:52fd:b15f:6d7d
    [...over 600 more entries...]
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fda8:816e:6d3:7713
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fdc9:7a6b:d2c5:e880
    Temporary IPv6 Address. . . . . . : 2012:65:fd85:5712:fdf4:11ed:9aba:9e27
    Link-local IPv6 Address . . . . . : fe80::e0ca:9e76:661f:c4f1%3
    IPv4 Address. . . . . . . . . . . : 192.168.178.22
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Default Gateway . . . . . . . . . : fe80::a96:d7ff:fe1f:cb26%3
                                        192.168.178.1

Я действительно понятия не имею, откуда все эти адреса. Мой Mac OS X в той же сети не имеет проблем с временными адресами IPv6. Помимо того, что это странная проблема, я считаю, что количество адресов IPv6 замедляется из-за производительности моей сети в Windows.

У кого-нибудь есть идея, что вызывает такое поведение и как его предотвратить. Я бы не хотел полностью отключать временные адреса IPv6, если это возможно.

fschoenm
источник
Во время написания этого вопроса моя Windows получила еще около 50 временных адресов IPv6.
fschoenm
1
У вас есть программа, открывающая соединения и сохраняющая их открытыми ? Это обычная причина этого. Кроме того, ни один из этих адресов не является действительным; 2012::/8еще не было выделено. Это тоже может быть проблемой.
Майкл Хэмптон
@MichaelHampton: Извините, я несколько запутал адреса.
Адрес
6
(Кстати, если вы хотите скрыть свои IPv6-адреса, всегда используйте 2001:db8::/32( RFC 3849 ), чтобы было ясно, что они являются примерами адресов.)
Майкл Хэмптон
1
Сами адреса частично генерируются случайным образом. Прочтите Randomly generated interface identifierраздел: msdn.microsoft.com/en-us/library/aa915616.aspx
Брайан,

Ответы:

14

У кого-нибудь есть идея, что вызывает такое поведение и как его предотвратить?

По ссылке, которую дал Брайан, «Временные адреса генерируются для префиксов публичных адресов, которые используют автоконфигурацию адресов без сохранения состояния».

Более конкретно, каждый процесс генерирует запрос ресурса, а ОС доставляет. SAv IPv6 определен в RFC 2462 , но «Временный адрес IPv6» вызван реализацией Windows RFC 4941 . Таким образом, возникает вопрос, какой процесс отвечает за инициирование запроса ОС на открытие сокета с этими расширениями конфиденциальности.

Чтобы ответить на ваш вопрос, что вызывает это, давайте посмотрим на аппаратное и программное обеспечение.

Операционные системы

Windows управляет временными адресами с параметрами, определенными в netsh interface ipv6 show privacy. Модифицироватьnetsh interface ipv6 set privacy ?

Чтобы проверить, что они установлены на машине Linux, вы должны проверить переменные ядра в /proc/sys/net. Вы можете найти подходящие значения для вашего дистрибутива с помощью sysctl -a --pattern ^net\..*ipv?6.*temp.*и изменить желаемую переменную с помощью sysctl -w foo.bar.var=<new value>(она должна быть похожа на вашем компьютере Apple, проверьте man sysctl)

Оборудование / OS

Вы сделали netstat -p TCPv6, но это может быть не TCP-соединение.

Сделайте netstat -besнесколько минут друг от друга и посмотрите, что такое diff между блоками * v6.

Хотя я полагаю, что это может быть аппаратная проблема из-за сбоя встроенного программного обеспечения при обработке ipv6, скорее всего, программная ОС / процесс является триггером. Если это аппаратное обеспечение, сторона программного обеспечения может не обрабатывать разрыв сеанса изящно и не может возобновить соединение по предыдущему IP. Поэтому определение его как проблемы с программным обеспечением не обязательно исключает проблемы с оборудованием.

Программное обеспечение / ОС, системные процессы и сервисы

Для этого просмотрите сетевой трафик с помощью http://www.nirsoft.net/utils/network_traffic_view.html, чтобы определить процесс.

Поскольку эти адреса, по определению, являются временными, они могут временно оставаться после завершения процесса, поэтому вы можете не видеть текущий работающий процесс с открытым соединением в NTV, если сокет немедленно закрывается.

Для этого используйте Process Explorer ( http://live.sysinternals.com/tools/procexp.exe ) и выделение различий (Параметры> Продолжительность выделения различий> 9), а затем перейдите к новым процессам («Просмотр»> «Прокрутить до новых процессов»). Целая строка зеленого / красного цвета показывает процесс, созданный или уничтоженный, соответственно, за последние 9 секунд.

После того, как вы определили процесс, если это браузер или какое-либо приложение с плагинами, вам нужно будет отладить, какой плагин или веб-сайт javascript могут вызвать проблему, запустив браузер в безопасном режиме и включив плагин с помощью плагина.

Адам
источник
Спасибо, я собираюсь попробовать кое-что из этого. Однако после перезагрузки у моей Windows больше нет временного IPv6-адреса, поэтому мне придется подождать. Это действительно расстраивает.
fschoenm
1
Я думаю, что нашел свою проблему: при попытке использовать NetworkTrafficView, как вы предложили, я заметил, что моя установка WinPcap была каким-то образом повреждена. Я не мог использовать ни Wireshark, ни NetworkTrafficView, потому что они оба зависали при запуске. Я переустановил WinPcap, и с тех пор все, кажется, работает безупречно!
Fschoenm
1

Поскольку идентификаторы адресов IPv6 остаются статическими, из соображений безопасности используются временные адреса. Временные адреса - это идентификаторы интерфейса IPv6, которые обеспечивают уровень анонимности. Эти адреса могут генерироваться случайным образом и изменяться со временем. Протокол IPv6 для Windows по умолчанию создает временные адреса для глобальных префиксов адресов.

Я не рекомендую отключать временные адреса IPv6. Однако вы можете отключить временные адреса IPv6 с помощью следующих команд и перезагрузки

netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set privacy state=disabled

В Windows 10 и Server 2016 вы можете использовать командлет PowerShell Set-NetIPv6Protocol для установки ограничений:

# The computer always generates temporary addresses by using random numbers. 
Set-NetIPv6Protocol -UseTemporaryAddresses Always

# The computer generates temporary addresses by using the interface identifier. 
# You typically use this identifier for test purposes. 
Set-NetIPv6Protocol -UseTemporaryAddresses Counter

# The computer does not use temporary addresses. 
Set-NetIPv6Protocol -UseTemporaryAddresses Disabled

# The computer uses temporary addresses.
Set-NetIPv6Protocol -UseTemporaryAddresses Enabled

Чтобы выяснить, какой процесс использует временный адрес, проверьте в столбце локального адреса соответствующий вашему временному адресу в выводе netstat:

netstat -p tcpv6 -o -f -b

Если ничего не удается найти, вам нужно использовать инструмент трассировки, такой как Sysmon.

Для этого с помощью SysMon создайте файл XML IPv6.xml со следующим текстом:

<Sysmon schemaversion="3.2">
<EventFiltering>
    <NetworkConnect onmatch="include">
        <SourceIsIpv6>true</SourceIsIpv6>
    </NetworkConnect>
</EventFiltering>
</Sysmon>

Затем загрузите SysMon и установите файл конфигурации:

SysMon -i IPv6.xml

Это будет регистрировать подключения IPv6 в журнале событий Windows в разделе Журналы приложений и служб / Microsoft / Windows / Sysmon / Operational

Когда мониторинг завершен, остановите мониторинг:

SysMon -u

Если вы отфильтруете по «Идентификатору события 3», вы получите сетевые события с подробной информацией, такой как ниже:

Log Name:      Microsoft-Windows-Sysmon/Operational
Source:        Microsoft-Windows-Sysmon
Date:          9/01/2018 9:55:08 PM
Event ID:      3
Task Category: Network connection detected (rule: NetworkConnect)
Level:         Information
Keywords:      
User:          SYSTEM
Computer:      DESKTOP-RTTN04O
Description:
Network connection detected:
UtcTime: 2018-01-09 10:55:06.915
ProcessGuid: {14ab83bf-c0d9-5a52-0000-00102da40e00}
ProcessId: 3628
Image: C:\Windows\System32\svchost.exe
User: NT AUTHORITY\SYSTEM
Protocol: tcp
Initiated: true
SourceIsIpv6: true
SourceIp: 2001:8003:550d:d400:b81c:a2ed:f99a:b31f
SourceHostname: DESKTOP-RTTN04O.gateway
SourcePort: 55723
SourcePortName: 
DestinationIsIpv6: true
DestinationIp: 2001:8006:3510:393:0:0:0:25bb
DestinationHostname: 
DestinationPort: 443
DestinationPortName: https
Малкольм МакКаффери
источник
-3

Держу пари, что вы смотрите Netflix и / или Amazon Prime Video, а ваш браузер устанавливает временный адрес v6 для каждого потока.

отметка
источник
2
Не нужно делать ставку. Браузер не получает адреса IPv6 просто потому, что не может.
Даниэль Б