Главная

Saturday 28 September 2024

Про DNS Client Cache.


Всем привет.

Одной из сильнейших сторон PowerShell является наличие возможности получение удалённых действий при возникновении ситуации отклика в процессе происшествия. Предоставляемая самыми последними версиями PowerShell инфраструктура значительно снижает необходимые сетевые настройки и предлагает значительную безопасность.

В какой-то мере в инструкциях по forensics стороной обходится крайне полезный для локальных и удалённых расследований командлет PowerShell - Get-DNSClientCache.

Кэш клиента DNS, или иначе DNS преобразователь (resolver) является локальной базой данных, сопровождаемой самой операционной системой. Он содержит свидетельчтва последних посещений на веб сайты и прочие местоположения в Интернете. Проще говоря, кэш DNS Клиента это просто некая запись последних запросов DNS, которые ускоряют доступ к уже определённым IP- адресам вебсайтов. Имейте в виду, что очистка истории вашего веб браузера для сокрытия вашей активности не включает кэш преобразователя DNS самих oперационных систем. Многие программы очистки будут очищать этот кэш, однако пользователи могут его пропускать, а он может служить важным свидетельством недавней активности. Кто про такое помнит?

Сам DNS (сервис доменных имён), предоставляет некую трансляцию из дружественных пользователю имён, таких как microsoft.com, google.com и python-forensic.org в IP- адреса, по которым они располагаются. Всякий раз когда вы вводите в своём браузере нечто подобное www.amazon.com, осуществляется поиск DNS для трансляции читаемого человеком адреса в некий IP адрес, по которому можно выполнить доступ.

Запуск процесса Get-DNSClientCache после очистки (ipconfig /flushdns) имеющегося кэша приводит к следующим результатам (альтернатива просмотра ipconfig /displaydns):

PS C:\WINDOWS\system32> Get-DnsClientCache | Select-Object -Property Entry 

Пусто! Естественно, CmdLet ничего не возвращает, поскольку DNS кэш пустой.

Tuesday 24 September 2024

Управление настройками сети с PowerShell, часть 2.


Всем привет.

Продолжим дергать сетевые настройки с помощью Powershell. Начинал я это делать еще здесь

А сегодня продолжим работу вместе с другим гуру ИТ-администрирования. Сегодня мы рассмотрим основные командлеты, которые позволяют узнать текущий адрес сетевого адаптера, назначить статический IP адрес, DNS сервера, или настроить сетевой интерфейс на получение конфигурации IP от DHCP сервера. Вы можете использовать эти командлеты для настройки сети как в Windows 10/11, так и в Windows Server (или версии Sever Core), в Hyper-V Server, для изменения настроек IP сетевых адаптеров на удаленных компьютерах, и в PowerShell скриптах.


Содержание:

  • Управление сетевыми адаптерами в Windows из PowerShell
  • Вывести настройки IP сетевого подключения с PowerShell
  • PowerShell: задать статический IP адрес в Windows
  • Set-DnsClientServerAddress: настроить адреса DNS серверов
  • Управление таблицей маршрутизации с помощью PowerShell
  • PowerShell: получить IP адрес в Windows от DHCP сервера
  • Изменить параметры IP и DNS на удаленном компьютере Windows

В предыдущих версиях в Windows для управления сетевыми настройками из cmd использовалась из CLI использовалась команда netsh. В PowerShell 3.0 и выше для управления сетевыми настройками Windows можно использовать встроенный PowerShell модуль NetTCPIP.

Чтобы получить список командлетов в этом модуле, выполните:

get-command -module NetTCPIP

В этот модуль также входит командлет Test-NetConnection, который можно использовать для проверки доступности TCP портов на удаленных компьютерах.


Управление сетевыми адаптерами в Windows из PowerShell

Выведите список доступных сетевых интерфейсов в Windows:

Get-NetAdapter

Командлет возвращает имя интерфейса, состояние (Up/Down), MAC адрес, скорость на порту.


Чтобы вывести только активные физические сетевые интерфейсы:

Get-NetAdapter -Physical | ? {$_.Status -eq "Up"}

Можно вывести только определенные параметры сетевых адаптеров, например: имя, скорость, состояние и MAC адрес:

Get-NetAdapter |Select-Object name,LinkSpeed,InterfaceOperationalStatus,MacAddress


В Windows могут присутствовать скрытые сетевые адаптеры. Чтобы вывести их все, добавьте параметр IncludeHidden:

Get-NetAdapter –IncludeHidden

Команда вернет в том числе все виртуальные WAN Miniport адаптеры, которые используются для различных типов подключений включая VPN. Перезапуск этих адаптеров часто позволяет решить некоторые ошибки VPN подключений с помощью встроенного клиента Windows. Для управления сетевыми подключениями VPN доступны отдельные команды PowerShell.


Вы можете обращаться к сетевым интерфейсам по их именам или индексам (столбец ifIndex). В нашем примере, чтобы выбрать физический LAN адаптер Intel 82574L нужно набрать команду:

Get-NetAdapter -Name Ethernet0

или

Get-NetAdapter -InterfaceIndex 8

Sunday 22 September 2024

PowerShell и Wi-Fi.

Всем привет.

Обычно все операции по настройке и выводу информации о сигналах Wi-Fi устройств в системе Windows происходят через окна, то есть графический интерфейс. Сегодня же рассмотрим, как можно применить командную строку PowerShell для отображения такой же и другой информации.   И пусть вас не смущает что в большинстве случаев будут использованы вызовы netsh-команд, которые по сути не являются командлетами PowerShell.

По правде говоря материал почти полностью заимствован из журнала "Системный администратор" №11 за 2021-й год у Сергея Болдина. Но подобное я находил и на других ресурсах сети.

Проверка уровня Wi-Fi сигнала 

Определить уровень сигнала сети (SSID) графически легко – посмотреть на иконку с полосками. Выполнив несложные команды в среде PowerShell, можно получить “цифровой” результат. 

Видимость 3-х полосок на иконке Wi-Fi сигнала говорит о хорошем качестве сигнала (уровень 75 до 100%), 2 полоски – качество среднего уровня (между 50 и 75%), 1 – плохой сигнал (ниже 50 %). Здесь не отображаются значения в виде цифр, зато такое точное значение можно получить с помощью команды: 

netsh wlan show interfaces

Если же нужно видеть только значение уровня сигнала, то другую информацию можно не выводить, указав соответствующие параметры:

(netsh wlan show interfaces) -Match '^\s+Signal' -Replace '^\s+Signal\s+:\s+',''

С помощью скрипта PowerShell можно для пользователя выводить всплывающее окно с уведомлением уровня сигнала, например, менее 25%:

$c_level=(netsh wlan show interfaces) -Match '^\s+Signal' -Replace '^\s+Signal\s+:\s+','' | Out-String

If ($c_level.replace('%','') –le 25)

{

Add-Type -AssemblyName System.Windows.Forms

$global:msg = New-Object System.Windows.Forms.NotifyIcon

$path = (Get-Process -id $pid).Path

$msg.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($path)

$msg.BalloonTipIcon = [System.Windows.Forms.ToolTipIcon]::Warning

$msg.BalloonTipText = “Уровень Wi-Fi сигнала менее $c_level,

Рекомендуем вернуться к точке доступа!”

$msg.BalloonTipTitle = "Внимание $Env:USERNAME"

$msg.Visible = $true

$msg.ShowBalloonTip(10000)

}

Замечание: рекомендация пользователю вернуться к точке доступа может прозвучать странно ибо ему не всегда известно где же та АР находится.) Тут на ваше усмотрение.

Saturday 21 September 2024

WiFi хотспот на Windows.

Всім привіт. 

Я вже казав вам що в разі потреби можно швидко зробити WiFi хотспот зі свого ноутбука. Але є нюанс, який ви маєте перевірити завчасно.

Для створення власної точки доступу необхідно використовувати функцію Wireless Hosted Network. Саме така мережа відповідає за роздачу Інтернету з ноутбука. Але спочатку необхідно перевірити її підтримку. Нам знадобиться лише команда CMD (командний рядок), запущений з правами адміністратора. Для перевірки пристрою набираємо у командному рядку команду:

netsh wlan show drivers

Для нас у цьому результаті необхідно дізнатися значення лише одного параметра: Hosted network supported.


Якщо параметр має значення "No", необхідно перевірити в "Диспетчер завдань" пристрій адаптера WIFI. Якщо навіть після успішного встановлення драйвера пристрою значення не змінюється, пробуємо оновити драйвер. Але це трохи лотерея.

Tuesday 17 September 2024

W-Fi report in Windows.

Всім привіт.

Колись давно я проводив діагностику мережі з Get-NetView. Але сама Windows 11 для цього має функцію для пакетної генерації детального звіту про історію підключень бездротової мережі (Wi-Fi) вашого комп'ютера. 

Звіт містить детальну інформацію про:

1. Мережі Wi-Fi, до яких ви підключалися

2. Тривалість сеансу

3. Будь-які помилки які трапились в роботі мережі

4. Доступні мережні адаптери 

5. Інші дані, виведені кількома командами в інтерфейсі командного рядка (наприклад командний рядок або PowerShell.)

Тобто якщо ви навчитеся користуватися цим інструментом, він може бути корисним для діагностики проблем з підключенням Wi-Fi.

Як створити звіт про безпроводову мережу в Windows? 

Виявляється це надто просто. Можливо ця команда з'явилася нещодавно бо раніше я її в netsh не помічав. Запустіть від імені Адміністратора вікно командного рядка та введіть наступну команду, а потім натисніть клавішу Enter :

netsh wlan show wlanreport

Це все, звіт готовий!  Знайдете його тут C:\ProgramData\Microsoft\Windows\WlanReport



Звіт про безпроводову мережу створено у вигляді HTML-файлу, який можна відкрити у веб-браузері. У звіті відображаються всі події Wi-Fi за останні три дні та групуються за сеансами підключення Wi-Fi. Він також відображає результати кількох сценаріїв командного рядка, пов'язаних із мережею, і список усіх мережних адаптерів на вашому комп'ютері.

Friday 13 September 2024

Интерфейс Comfy CLI


Всем привет.

Хорошая новость - существует кросс-платформенный интерфейс управления ComfyUI в режиме командной строки Comfy, т.е. CLI.

Для обычного пользователя ComfyUI он может быть и не нужен, но это пока. Пока пользователь справляется со своими эмоциями от паутинок(workflow) ComfyUI мы попробуем ComfyUI CLI. Поскольку ниже я пересказываю примеры одного гуру (источник), то все примеры кода и его расположения выбраны им, хотя как по мне, он слишком глубоко копнул эту тему. Фанат одним словом.

Ok, тогда пойдем дальше. Все примеры ниже приведены исходя из того, что Python находится по пути "c:\p311" (версия 3.11), а устанавливать Comfy мы будем в папку "d:\3".

Для начала создадим виртуальное окружение Python-а "venv" (замечание: обычно ComfyUI из коробки не использует модуль venv, но работать с ним может):

    c:\p311\python -m venv d:\3\venv

Если мы все правильно сделали, то у нас по адресу "d:\3"появится папка "venv". Запомним, что вызывать Python из этой установки нам надо командой:

    d:\3\venv\Scripts\python.exe

и все обращения к Python мы будем производить именно этой командой, с указанием полного пути к нему. Итак, у нас установлен "чистый" Python, т.е. без всяких пакетов. 


Варианты установки Comfy CLI

1. Устанавливаем Comfy CLI как инструмент командной строки для ComfyUI:

    d:\3\venv\Scripts\python -m pip install comfy-cli

Теперь выполним такую команду:

    d:\3\venv\Scripts\Comfy

и получим справку по управлению Comfy из режима командной строки. 

Самое святое это запросить номер версии Comfy CLI:

Thursday 12 September 2024

Cканер кода SonarQube

Всем привет.

Большинство кодировщиков пишут, как им часто кажется, совершенный код. Некоторые уже используют в IDE инструменты статического анализа, такие как ESLint, которые выявляют возможности улучшения каких-то частей кода в процессе его написания. Практика хорошая, и не стоит от нее отказываться.

Сегодня будет представлен инструмент для повышения качества кода, выводящий этот процесс на новый уровень - SonarQube. Вы узнаете:

  • что такое SonarQube;
  • как установить этот инструмент на локальный компьютер;
  • как сканировать файлы проекта;
  • как провести анализ проекта в SonarQube.

В статье будет рассмотрена открытая версия для сообщества. SonarQube невероятно полезный инструмент, так что я с радостью поделюсь своими знаниями о нем.


Что такое SonarQube?

SonarQube - это платформа с открытым исходным кодом, разработанная SonarSource, для непрерывной оценки качества кода путем статического анализа.

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

Завершив сканирование кода, о чем будет рассказано далее, SonarQube формирует отчет, который можно посмотреть в GUI через браузер. Все обнаруженные проблемы представляют собой “интерактивные тикеты”, позволяющие писать к ним комментарии, делегировать их другим пользователям, открывать или закрывать и т. д.


К подробному описанию проблемы сразу же прилагается соответствующий код.



SonarQube также объясняет суть проблемы при нажатии на соответствующую ссылку “Why is this an issue?” .


Wednesday 4 September 2024

Латентное пространство в GenAI.

Всем привет.

Сегодня для вас база от NeyroGraph-a - про латентное пространство в генерации изображений.

Латентное пространство - ключевой элемент генеративных моделей, таких как GANs (Generative Adversarial Networks) и VAE (Variational Autoencoders). Оно позволяет ИИ не просто копировать существующие изображения, но и создавать новые, уникальные комбинации, основываясь на том, что он "понял" из обучающего набора данных. Это как если бы художник, научившись рисовать пейзажи и портреты, смог бы комбинировать их элементы для создания совершенно новых произведений искусства.

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

Латентное пространство - это многомерная матрица, в которой AI-модель представляет и обрабатывает информацию об изображениях. "Латентный" означает "скрытый" или "невидимый", и это пространство действительно скрыто от нашего непосредственного восприятия. 

Этот как наш мозг. Сначала мы представляем что мы хотим создать, потом, использую различные инструменты в зависимости от задачи, начинаем создавать задуманное. Конечно для этого наш мозг должен понять и сформулировать задачу для реализации.

Латентное пространство в ИИ  это потенциальная материя для создания изображений на основании ваших указаний. В контексте генерации изображений, латентное пространство - это математическая модель, в которой все возможные образы представлены в виде координат или точек. Каждая точка в этом пространстве соответствует уникальному набору характеристик изображения, таких как цвет, форма, текстура и т. д. Когда ИИ получает от нас задачу в виде текста он "перемещается" по этому пространству, выбирая разные точки которые соответствуют вашим указаниям, чтобы создавать новые изображения, которые не обязательно точно копируют что-то существующее, но могут быть чем-то совершенно новым.

Когда ИИ обучается на большом наборе изображений, он не просто запоминает их, а выделяет ключевые черты и характеристики. Эти черты затем отображаются в латентном пространстве, создавая своего рода карту. Когда вы хотите сгенерировать новое изображение, ИИ использует эту карту, чтобы найти нужные координаты и преобразовать их в визуальный образ. 

Это как если бы художник использовал свои знания о цветах и формах, чтобы создать картину, но делал это на основе огромного количества уже увиденных работ. Что в принципе художник и делает сознательно или подсознательно по мере накопления опыта. Но в случае с ИИ "начинающему художнику" специально и заранее показали большое количество чужих работ.

Когда вы хотите сгенерировать новое изображение, ИИ выбирает точку в этом латентном пространстве, а затем "разворачивает" её, превращая абстрактное представление в конкретное изображение из множества этих точек.