close
Kaspersky Endpoint Security

Welcome to

Kaspersky Endpoint Security


By Kaspersky Endpoint Security


Backup-Gesamte PC mit Veeam Endpoint Kostenlose Backup Software



Allgemeine Beschreibung Die Datei ist eine Powershell-Skript, das Verbindungen aktiven TCP-Protokolle und enthält die Prozess-ID (PID) und Prozessnamen für jede Verbindung auf einem Microsoft Windows-Computer. Der Protokolldateiname ist ein Parameter, der für das Skript zur Laufzeit übergeben wird. Ein Protokolleintrag wird jedes Mal, dass die Liste der Prozesse mit offenen Verbindungen oder Listening-Ports Änderungen erstellt. Wenn die Ports oder entfernten Adressen noch nicht etabliert, werden sie als ein Sternchen (*) angezeigt. Die Log-Connections-Skript wird auf dem Befehl netstat basiert, "netstat -nao", die in der Windows-Eingabeaufforderung ausgeführt werden können einen Snapshot aller Verbindungen anzuzeigen und Listening-Ports. Der Schalter -o sagt netstat die besitzende Prozess-ID angezeigt werden, die mit jedem Prozess zugeordnet ist. Eine Begrenzung der Befehl netstat ist, dass es nicht das dazugehörige Prozessnamen berichten können, sondern nur die PID. Um dies zu erreichen, ruft die Log-Connections Powershell-Skript Get-NetworkStatistics Funktion. Diese Funktion wurde geschrieben von undverfügbar um . Die Log-Connections Skript ruft die Get-NetworkStatistics Funktion wiederholt in einer Endlosschleife, die aktuelle Momentaufnahme mit dem vorherigen zu vergleichen. Wenn eine Änderung vorliegt, wird die aktuelle Momentaufnahme mit Zeitstempel, in die Datei protokolliert, und gegebenenfalls bis zur Power Pipeline geleitet. Vorbei an der Verbindungen Snapshot-Objekt bis zur Powershell-Pipeline ermöglicht, dass die Daten, die von anderen Powershell-Cmdlets in Echtzeit manipuliert oder angezeigt werden. Dies wird in den Beispielen veranschaulicht werden, die folgen. Kurze Einführung in die Powershell Windows Powershell ist eine Befehlszeilenshell und eine Skriptsprache, die auf .NET Framework integriert ist. Powershell ist seit 2006 um, wird aber in der Basis-Betriebssystem mit Windows 7 und Windows Server 2008 R2 enthalten. Powershell kann durch Eingabe von "Powershell" in das Suchfeld oben den Windows Start Button aufgerufen werden, oder durch "Powershell" in der Windows-Eingabeaufforderung eingeben. Eine große Website, um mehr über Powershell ist. Power ShellSicherheitsfunktionen Powershell ein Skript-Ausführungsrichtlinie hat, die von Standard-Skripte unbeabsichtigt ausgeführt verhindert werden. Um mehr über die Ausführungsrichtlinien zu erfahren, geben Sie den folgenden Befehl in Powershell: Get-Help about_Execution_Policies Um die folgenden Beispiele ausführen können, wird vorgeschlagen, dass Sie die Ausführungsrichtlinie ändern zu "RemoteSigned", so dass lokale Skripte können ohne Vorzeichen und Remote-Scripts ausführen kann nur durch eine vertrauenswürdige Person, wenn unterzeichnet laufen. Um dies zu tun, die folgenden Powershell-Befehl ausführen: Set-ExecutionPolicy RemoteSigned -scope Current Um wieder auf den Standard, geben Sie einfach wieder her: Set-ExecutionPolicy Restricted Ein weiteres Merkmal der Powershell ist, dass Skripte können nicht durch die Eingabe nur den Namen des Skripts im aktuellen Verzeichnis ausgeführt werden . Stattdessen müssen sie mit einem Punkt und einem umgekehrten Schrägstrich vorangestellt werden ( ". \"). Dies wird in den folgenden Beispielen veranschaulicht. Beispiel 1: Powershell \ Log-Connections.ps1 c. \ Arbeitsplatz \ mylog.csv Beispiel 1 zeigt die Log-Connections.ps1 Skript zu seinvon der Windows-Eingabeaufforderung aufgerufen. Das ps1-Skript und der vollständige Pfad zu der Protokolldatei werden als Argumente der Befehl Beachten Sie auch die Verwendung übergeben "Powershell.", Um die Dateierweiterung "CSV". Dies, weil auf vielen Systemen ist praktisch, wenn Sie eine CSV-Datei, um sie doppelt angeklickt ist, wird starten Sie Microsoft Excel. Jede andere Erweiterung, einschließlich "TXT" ist ebenfalls akzeptabel. Beispiel 2: Power c: \ Temp \ Log-Connections.ps1 mylog.csv svchost Beispiel 2 ist sehr ähnlich wie die erste mit Ausnahme eines Prozessnamen als Argument übergeben wurde und nur den Dateinamen (ohne Pfad) bereitgestellt worden , so wird die Protokolldatei im aktuellen Verzeichnis, c gespeichert werden: \ Arbeitsplatz. Der vollständige Pfad zum Skript zur Verfügung gestellt wird, weil es in c: \ temp. . Hinweis: wenn die Protokolldatei bereits vorhanden ist, werden die neuen Beobachtungen nach unten Beispiel 3: Power angefügt \ Log-Connections.ps1 mylog.csv svchost -PassThru die "-PassThru" Schalter verwendet, wird das Skript führen die Ergebnisse zu der Anzeige Bildschirm in einem rAW-Format zusätzlichum sie in der Protokolldatei protokolliert. Beispiel 4. \ Log-Connections.ps1 -ProcName svchost -FilePath mylog.csv In Beispiel 4 der Benutzer getippt "Powershell" an der Eingabeaufforderung Powershell aufzurufen. Dann wird der Name des Skripts und seine Argumente wurden an der Powershell-Eingabeaufforderung eingegeben haben. Dieses Beispiel zeigt auch die Verwendung der genannten Parameter Konvention. Übergeben im Parameterwert (zum Beispiel "mylog.csv") nach dem Parameternamen ( "-FilePath") erlaubt es, die Parameter aus geleitet, um in zu sein. Beispiel 5. \ Log-Connections.ps1 Beispiel 6 zeigt, dass Powershell eventuell fehlende Parameter ordnungsgemäß anfordern, die obligatorisch sind. In diesem Fall ist es der FilePath Wert. Beispiel 6: \ Log-Connections.ps1 mylog.csv svchost -PassThru. | Format-Table Beispiel 6 zeigt Leitung, um die Ausgabe des Log-Connections Skript zum Cmdlet Format-Table. Das Cmdlet Format-Table erzeugt eine schöne Tabelle der Ergebnisse, die in Echtzeit wachsen. . Beispiel 7 \ Log-Connections.ps1 mylog.csv iexplore -PassThru | Out-GridviewMit dem Out-Gridview-Cmdlets, wie in Beispiel 7 gezeigt, wird ein Gitter von den Ergebnissen. Das Gitter wächst in Echtzeit und kann gefiltert und sortiert werden. Die Spalten können auch neu arrangiert werden. Das Raster kann auch die "Kriterien hinzufügen" Taste gefiltert werden, wie unten dargestellt: Log-Connections.ps1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 180 181 182 179 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205# * ================================================ ============================= # * ÜBERARBEITUNGEN # * =============== ================================================== ============ # * Datum: [2012.12.16] # * Beschreibung: Erste Version # * # * ================= ================================================== ========== [CmdletBinding ()] Param ([Parameter (Mandatory = $ True, Position = 0)] [string] $ FilePath, [Parameter (Mandatory = $ false, Position = 1)] [ string] $ ProcName = '*', [Schalter] $ PassThru) # ********************************** ********* # * Get-NetworkStatistics Funktion * # ********************************* ********** Funktion Get-NetworkStatistics {[Output ( 'System.Management.Automation.PSObject')] [CmdletBinding (DefaultParameterSetName = 'Name')] param ([Parameter (Position = 0, ValueFromPipeline = $ true, ParameterSetName = 'Port')] [System.Int32] $ Port = '*', [Parameter (Position = 0, ValueFromPipeline = $ true, ParameterSetName = 'Name')]ein Sternchen (*). .PARAMETER Process Ruft Verbindungen durch den Namen des Prozesses. Der Standardwert ist '*'. .PARAMETER Port Die Portnummer des lokalen Computers oder Remote-Computer. Der Standardwert ist '*'. .PARAMETER Adresse Ruft Verbindungen durch die IP-Adresse der Verbindung, lokal oder remote. Wildcard wird unterstützt. Der Standardwert ist '*'. .PARAMETER Protokoll Der Name des Protokolls (TCP oder UDP). Der Standardwert ist '*' (alle) .PARAMETER State Gibt den Zustand einer TCP-Verbindung. Die möglichen Zustände sind wie folgt: Geschlossen - Die TCP-Verbindung geschlossen ist. CloseWait - Der lokale Endpunkt der TCP-Verbindung für eine Verbindung Beendigungsanforderung von dem lokalen Benutzer warten. Schließen - Der lokale Endpunkt der TCP-Verbindung wartet auf eine Bestätigung des Verbindungsbeendigungsanforderung vorher gesendet. DeleteTcb - Die Getriebesteuerpuffer (TCB) für dieTCP-Verbindung gelöscht werden. Etabliert - Der TCP-Handshake abgeschlossen ist. Die Verbindung wurde eingerichtet, und Daten gesendet werden können. FinWait1 - Der lokale Endpunkt der TCP-Verbindung für eine Verbindung Beendigungsanforderung von dem entfernten Endpunkt wartet oder auf eine Bestätigung des Verbindungsbeendigungsanforderung vorher gesendet. FinWait2 - Der lokale Endpunkt der TCP-Verbindung für eine Verbindung Beendigungsanforderung von dem entfernten Endpunkt wartet. LastAck - Der lokale Endpunkt der TCP-Verbindung für die endgültige Bestätigung des Verbindungsbeendigungsanforderung zuvor gesendeten wartet. Hören - Der lokale Endpunkt der TCP-Verbindung ist für eine Verbindungsanforderung von einem beliebigen Remote-Endpunkt zu hören. SynReceived - Der lokale Endpunkt der TCP-Verbindung gesendet und eine Verbindungsanfrage erhalten und istWarten auf eine Bestätigung. SynSent - Der lokale Endpunkt der TCP-Verbindung hat den Remote-Endpunkt ein Segment-Header mit dem Synchronisieren (SYN) Steuer-Bit gesetzt und wartet auf eine passende Verbindungsanfrage gesendet. TimeWait - Der lokale Endpunkt der TCP-Verbindung wird genügend Zeit zu warten, um sicherzustellen, passieren, dass der Remote-Endpunkt die Bestätigung seiner Verbindung Beendigungsanforderung empfangen wird. Unknown - Die TCP-Verbindung Zustand ist unbekannt. Die Werte basieren auf dem TcpState Enumeration: .example Get-NetworkStatistics .example Get-NetworkStatistics iexplore .example Get-NetworkStatistics -ProcessName md * -Protokoll tcp .example Get-NetworkStatistics -Adresse 192 * -Staatliche ZUHÖREN .example Get-NetworkStatistics -Staatliche HÖRT -Protokoll tcp .OUTPUTS System.Management.Automation.PSObject .Notes Autor: Shay Levy Blog: #>} # ******************************************* # * HAUPTPROGRAMM * # ******************************************* #add Header der CSV file [string] $ zurück = "Timestamp, Protokoll Localaddress, LokalerAnschluss, Remoteaddress" $ Zurück = "Remote, Staat, Process, PID" Add-Content $ FilePath $ zurück #Initiate eine unendliche Schleife, die die Anrufe Get-NetworkStatistics Funktion wiederholt #und formatiert die Ausgabe entsprechend while ($ true) {$ Observation = Get-NetworkStatistics $ ProcName [string] $ Current = $ Beobachtung | Out-String if ($ zurück -ne $ Current) {[string] $ timestamp = Get-Date -Format o $ Zurück = $ Aktuelle foreach ($ Sockel in $ Observation) {$ record = $ Timestamp "," $ Socket.Protocol "," $ Socket.LocalAddress "," `+ $ Socket.LocalPort ", "+ $ Socket.RemoteAddress ", "+ $ Socket.RemotePort ", "` $ Socket.State "," $ Socket.ProcessName "," $ Socket.PIDNummer wird als ein Sternchen (*) angezeigt. .PARAMETER FilePath Der Pfad und Dateiname der Protokolldatei. Zwingend notwendig. .PARAMETER ProcName Log nur Verbindungen mit dem Namen des Prozesses zur Verfügung gestellt. Der Standardwert ist '*'. .SWITCH PassThru Gibt ein Prozessobjekt auf dem Bildschirm oder der Pipeline. .example Log-Anschlüsse mylog.csv .example Log-Anschlüsse mylog.csv svchost .example Log-Anschlüsse mylog.csv svchost -PassThru .example Log-Anschlüsse -FilePath mylog.csv -ProcName svchost .example Log-Anschlüsse mylog.csv svchost -PassThru | Format-Table .example Log-Anschlüsse mylog.csv svchost -PassThru | Out-Gridview .OUTPUTS System.Management.Automation.PSObject .Notes Autor: Kenneth G. Hartman Blog: Credits: Autor des Get-NetworkStatistics Funktion ist Shay Levy #>

ESET Endpoint-Security-32-Bit     Endpoint-Security-10 Produkthandbuch

Categories and tags