Netstat - rückgabe speichern?
-
hi.
gibt man in die konsole netstat ein, werden bekanntlich die verbindungen, und die ports über dei sie laufen angezeigt.
ich hbae das mal mit
system("netstat");
geregelt.das problem:
ich weiß nicht, wie ich den spaß in eine variable bekommen soll.
es läßt sich nur in int speichern, und gibt dann einfach 0 zurück.wie kann ich die rückgabe speichern, die normalerweiße erscheint?
-
Du kannst
system("netstat > outfile.log");
schreiben und die Ausgabe aus der Datei outfile.log auslesen.
Edit: Das, was system dir zurückgibt, ist der Exit Code von netstat. 0 bedeutet normalerweise successful.
Den Exit Code kennst du auch von deinen eigenen Programmen:
int main() { return 0; // <- das ist der Exit Code }
-
okay, danke.
-
Hi, wenn ich es versuche, kommt da: Der Prozess kann nicht auf die Datei zugreifen,
da sie von einem anderen prozess verwendet wird.Hatt wer eine Idee wiso das kommt bzw wie ich das Problem lösen kann??
-
würde auch eine BATCH-File reichen
echo off c: cd\ netstat > c:\offline.log notepad c:\offline.log echo on
hast Du nun ein Analyseprogramm in C/C++ aufgesetzt was Parameter in Form einer Datei bekommt um die Programmauswertung von "netstat" auszuwerten.
rufst Du im Skript an der Stelle:
notepad c:\offline.log
eben deine Anlyseprog auf:
echo off c: cd\ netstat > c:\offline.log DeinAnalyseProg c:\offline.log echo on
Aber das geht so einfach nur wenn Du der Systemvariablen PATH
den Pfad wo dein Programm liegt sagst!Gruss sclearscreen