20.01.2013 Aufrufe

Netzwerk - TecChannel

Netzwerk - TecChannel

Netzwerk - TecChannel

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

1. <strong>Netzwerk</strong>-Praxis<br />

>> %temp%\y.y<br />

sort < %temp%\y.y > %temp%\x.x<br />

set pid=-1<br />

for /F "tokens=1,2" %%f in (%temp%\x.x) do call<br />

:procline %%g %%f<br />

endlocal<br />

if exist %temp%\x.x del %temp%\x.x<br />

if exist %temp%\y.y del %temp%\y.y<br />

goto :eof<br />

:procline<br />

if %pid% == %2 goto havePID<br />

echo.<br />

echo.<br />

echo ==== Process ====<br />

tasklist /FI "pid eq %2" /NH /SVC<br />

echo.<br />

echo Connections:<br />

:havePID<br />

set pid=%2<br />

echo %1<br />

goto :eof<br />

Funktion<br />

Zuerst benötigen wir eine Liste aller aktiven TCP-Verbindungen. Das erledigt der<br />

Aufruf von netstat -p TCP -a -o. Diese Ausgabe wird gefi ltert, sodass nur die<br />

Zeilen mit der Kennung ESTABLISHED übrig bleiben. Das Ergebnis wird in eine<br />

temporäre Datei x.x geschrieben.<br />

Diese Liste muss nun umgeschichtet werden, sodass Sie die PID des Prozesses als<br />

erste Spalte enthält und danach die Adresse des entfernten Rechners. Dazu wird<br />

zuerst eine eventuell noch bestehende Datei y.y gelöscht. Danach wird mithilfe<br />

einer for-Schleife die Datei umgeformt und in eine zweite Datei y.y geschrieben.<br />

Eine Alternative wäre die Ausführung der for-Schleife in einer Subshell und die<br />

Umleitung der gesamten Ausgabe per einfachem „>“ in die Datei. Dies erspart die<br />

Zeile mit dem Löschen der Datei y.y. Dazu müsste die for-Schleife wie folgt modifi<br />

ziert werden:<br />

(for /F "tokens=3,5" %%f in (%temp%\x.x) do echo %%g%%f) ><br />

➥ %temp%\y.y<br />

Diese Datei muss noch sortiert werden, damit alle gleichen PIDs untereinander<br />

stehen. So kann die Ausgabe für alle Verbindungen zu einem Prozess erfolgen, bis<br />

die PID wechselt. Dazu verwenden wir sort.<br />

Nach dem Sortieren kann die Ausgabe erzeugt werden. Damit wir wissen, welche<br />

PID gerade abgearbeitet wird, wird eine Umgebungsvariable (pid) mit der jeweiligen<br />

Prozess-ID belegt. Zu Beginn schreiben wir den Startwert -1 in die Variable.<br />

In der nun folgenden for-Schleife wird die sortierte Datei x.x Zeile für Zeile ein-<br />

36 www.<strong>TecChannel</strong>.de

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!