.net - Hvordan læser jeg IP-adressen fra en fejlagtig logonhændelse i hændelsesviseren ved hjælp af C #?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at læse dataene fra en revisionsfejlhændelse, der genereres af et fejlagtigt logonforsøg. Jeg kan få de begivenheder, jeg har brug for, men jeg kan ikke finde ud af, hvordan man rent faktisk får IP-adressen fra arrangementet.


For at tydeliggøre, vil jeg se begivenheden genereret af et mislykket Windows logon forsøg fra en bruger. Ser sådan ud i XML-visning i hændelseslog


<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>

Bedste reference


I ASP.NET brug:


Request.ServerVariables["REMOTE\_ADDR"];

Andre referencer 1


Hvis du gemte den faktiske ip-adresse, når du bogfører ved at erstatte de to første oktetter, så brug bare xml eller regex for at læse den ind, men hvis det er nøjagtigt som du skrev:


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


Så nej, du kan ikke komme fra hændelsesloggen, men hvis du er heldig og er i et lille netværk med kun ét segment, så kan du finde ud af det.


For eksempel hvis du er i et lille netværk, ved du, at der kun er ét segment, du kan indarbejde det i dit programs logik, som i dit eksempel ...171.130, hvis du ved, at dit netværk har en adresse inden for rækkevidde 192.168.171.1-192.168.171.254 , så kan du være 100\% sikker på, at den stammer fra 192.168.17.130 , hvis du ved, at der er noget andet netværk i rækkevidde 172.21.171.1-172.21.171.254 , så venter du ikke, medmindre du helt sikkert ved, at de andre segmenter ikke kan tale med din computer, kan du normalt spørge dit netværk folk om at finde ud af det .


Se dette til en reference til ip og subnet beregninger http://www.subnet-calculator.com/subnet.php?net\_class=C[5]

Andre referencer 2


Som ordag udgivet i ovenstående spørgsmål kommentaren tråd, de oplysninger, jeg ønskede var i ReplacementStrings array.


Citere:



  Hvis du har EventLogEntrys, skal adressen være medlem af
  ReplacementStrings array-egenskab.