Im letzten Blogeintrag haben wir uns angesehen, man den nslookup Befehl aus der CMD Shell mit der PowerShell ablösen kann.
In diesem Blogeintrag schauen wir uns an, wie man den netstat Befehl aus der CMD Shell mit der PowerShell ablösen kann.
Der Befehl netstat (Network Statistics) zeigt alle offenen Netzwerkverbindungen an. Es wird jeweils die Quelladresse mit Quell-IP und die Zieladresse mit Ziel-IP ausgegeben. Außerdem der Status der Verbindung
In der CMD Shell sieht das folgendermaßen aus.
netstat Aktive Verbindungen Proto Lokale Adresse Remoteadresse Status TCP 127.0.0.1:49711 bbirneder:49713 HERGESTELLT TCP 192.168.42.85:64735 37.208.109.105:5721 HERGESTELLT TCP 192.168.42.85:64739 odo:https HERGESTELLT TCP 192.168.42.85:64740 ec2-54-229-20-66:https WARTEND TCP 192.168.42.85:64741 ec2-54-229-20-66:https FIN_WARTEN_1 TCP [fe80::746b:96a5:58ca:963c%4]:64711 [fe80::a96:d7ff:fe2a:b37a%4]:49000 WARTEND …
Mit weiteren Parametern kann man auch gezielt nach Verbindungen von Applikationen suchen. Allerdings bekommt man immer alle Applikationen auf einmal angezeigt und eine Suche ist sehr mühselig.
Zeige alle Adressen als IP und die Datei, die die Verbindung aufgebaut hat:
Netstat –nb
Im Bildausschnitt sehen sie die TCP-verbindung von meinem Firefox zur Powershell-User Webseite.
Viel eleganter lässt sich das Ganze mit der PowerShell lösen.
Der Befehl Get-NetTCPConnection liefert ohne weitere Parameter eine ähnliche Antwort, allerdings zeigt er nur IP Adressen an und keine Domain Namen
Get-NetTCPConnection |ft LocalAddress,LocalPort,RemoteAddress,RemotePort,State -a LocalAddress LocalPort RemoteAddress RemotePort State ------------ --------- ------------- ---------- ----- 127.0.0.1 63289 127.0.0.1 63288 Established 192.168.42.85 64714 37.208.109.105 5721 Established 192.168.42.85 64713 37.208.109.72 443 Established 192.168.42.85 64708 40.77.229.72 443 Established 192.168.42.85 64702 40.77.229.20 443 Established 192.168.42.85 64133 37.208.109.68 80 CloseWait …
Da es sich hier aber um eine Objekt-Liste handelt, kann ich mir wunderbar die Informationen zusammenfiltern.
Zuerst schaue ich mir eine Zeile im Detail an (Die Verbindung vom Firefox mit der Powershell-User Webseite).
Durch die Stern-Formatierung | fl * sehen wir auch die Attribute, die standardmäßig nicht in der Konsole ausgegeben werden.
$con = Get-NetTCPConnection |where {($_.RemoteAddress -like "37.208.109.68") -and ($_.RemotePort -eq 80)} $con[0] |fl * # Nimm das erste Element der Objektliste und zeige mir alle Details
Folgende Attribute sehen nützlich aus
- State
- CreationTime
- LocalAddress
- LocalPort
- OwningProcess
- RemoteAddress
- RemotePort
Wenn ich alle aktiven Sessions auf Webseiten mit Startzeit sehen will, kann ich das folgendermaßen machen.
Get-NetTCPConnection |where {($_.state -eq "Established") -and ($_.RemotePort -eq 80)} | ` FT CreationTime,LocalAddress,LocalPort,RemoteAddress,RemotePort,State -a CreationTime LocalAddress LocalPort RemoteAddress RemotePort State ------------ ------------ --------- ------------- ---------- ----- 11.04.2018 13:55:26 192.168.42.85 49433 37.208.109.68 80 Established 11.04.2018 13:55:26 192.168.42.85 49431 216.58.207.74 80 Established
Power-TIP:
So kann ich herausfinden, welche Applikationen eine Verbindung zu www.powershell-user.de aufbauen. Hierfür nutze ich zusätzlich Resolve-DNSName und Get-Process. Der select –unique am Ende sorgt dafür, dass jede Applikation nur einmal aufgelistet wird.
Get-NetTCPConnection |where {$_.RemoteAddress -like (Resolve-DNSName –Name www.powershell-user.de).IPAddress} | ` Foreach {(Get-Process -Id $_.OwningProcess).ProcessName} |select -unique powershell firefox
Im nächsten Blogeintrag beschäftigen wir uns damit, wie man den ipconfig Befehl mit der PowerShell umsetzen kann.
Hi Boris,
sehr interessanter Beitrag, allerdings habe ich einen Verbesserungsvorschlag:
Ich fände es gut, wenn Du die verwendeten Kommandos auch textuell zur Verfügung stellt, da man sie halt aus den Screenshots nicht kopieren kann.
Ansonsten top!
Hallo Gregor,
im Normalfall hinterlege ich Screenshots und auch die Kommandos für copy&paste.
Das ist immer in den blauen Boxen.
Grüße Boris
Hallo,
gibt es auch eine Methode um eine IP zu einer bestimmten, fremden E-Mail-Adresse in Erfahrung zu bringen. Bzw. war ist der einfachste Weg dazu ?
Grüße Rolf
Hallo Rolf,
bei den meisten Maildomains kann man sich nicht sicher sein, ob der Absender auch der Besitzer der E-Mail-Adresse ist. Von daher würde die IP nicht viel nutzen. Und auch die absendende IP selber ist im Datenpaket manipulierbar. Also: keine/wenig Chancen, den Absender zu finde. Grüße