Как прочитать IP-адрес из неудачного события входа в систему в программе просмотра событий с использованием C #? - PullRequest
0 голосов
/ 07 марта 2012

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

Чтобы уточнить, я хочу увидеть событие, сгенерированное неудачной попыткой входа в Windows от пользователя.Выглядит это в виде XML в журнале событий

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
    <System>
        <Provider Name="Microsoft-Windows-Security-Auditing" Guid="{54849625-5478-4994-A5BA-3E3B0328C30D}" /> 
        <EventID>4625</EventID> 
        ... 
    </System>
    <EventData>
        ...
        <Data Name="IpAddress">xxx.xxx.171.130</Data> 
        <Data Name="IpPort">50717</Data> 
    </EventData>
</Event>

Ответы [ 3 ]

0 голосов
/ 08 марта 2012

Если вы скрыли фактический IP-адрес при публикации, заменив первые два октета, просто используйте xml или regex, чтобы прочитать его, но если он точно такой же, как вы отправили:

<Data Name="IpAddress">xxx.xxx.171.130</Data>

Тогда нет, вы не можете из журнала событий, хотя, если вам повезет и вы находитесь в небольшой сети с одним сегментом, вы можете это выяснить.

Например, если вы находитесь в небольшой сети, вы знаете, что есть только один сегмент, который вы можете включить в логику вашей программы, как в вашем примере ...171.130, если вы знаете, что ваша сеть имеет адрес в диапазоне 192.168.171.1-192.168.171.254 , тогда вы можете быть на 100% уверены, что оно получено с 192.168.17.130 , с другой стороны, если вы знаете, что в диапазоне есть какая-то другая сеть 172.21.171.1-172.21.171.254 тогда вы не будете знать, если вы не уверены, что другие сегменты не могут общаться с вашим компьютером, вы обычно можете попросить об этом сетевых сотрудников.

См. Это для справки по вычислениям ip и подсети http://www.subnet -calculator.com / subnet.php? Net_class = C

0 голосов
/ 10 марта 2012

Поскольку ordag опубликовано в ветке комментариев к вышеуказанному вопросу, нужная информация была в массиве ReplacementStrings.

Цитата:

Если у вас естьEventLogEntrys, адрес должен быть членом свойства массива ReplacementStrings.

0 голосов
/ 08 марта 2012

В ASP.NET используйте:

Request.ServerVariables["REMOTE_ADDR"];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...