Frage zu Programm



  • Hallo,

    Ich habe mal früher ein Programm in Batch geschrieben womit man sich die Aktiven Verbindungen angucken kann jetzt würde ich dies mal gerne mit C++ Versuchen hier ist der Source Code von dem Programm:

    @echo off
    :menue
    cls
    color a 
    echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    echo Mit diesem Programm koenne sie alle ihre Verbindungen
    echo Ueberwachen !
    echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    echo (1) Alle Verbindungen anzeigen lassen und gegebenfalls anpingen 
    echo.
    echo (2) Unsichere Verbindungen 
    echo.
    echo (3) Hier kann man sehen welches Programm zu welcher Verbindung gehoert
    echo. 
    echo (4) Programm beenden
    echo.
    set /p_choice=Waehlen sie was sie tuen wollen:
    echo.
    
    if %_choice%==1 goto 1
    if %_choice%==2 goto 2
    if %_choice%==3 goto 3
    if %_choice%==4 goto 4
    
    :1
    cls
    netstat -a 
    echo.
    echo (1) IP-Adressen anpingen
    echo.
    echo (2) Zurueck zum Hauptmenue
    echo.
    set /p_choice=Was wollen sie tuen?
    echo.
    if %_choice%==1 goto ping
    if %_choice%==2 goto menue
    
    :ping 
    
    set /P ip=IP hier eingeben:
    ping %ip%
    echo.
    echo (1) Weiter IP-Adressen anpingen
    echo.
    echo (2) Nochmals die Verbindungen anzeigen lassen 
    echo.
    echo (3) Zurueck zum Hauptmenue
    echo.
    set /p_choice=Was wollen sie jetzt tuen?
    echo.
    if %_choice%==1 goto ping
    if %_choice%==2 goto netstat 
    if %_choice%==3 goto menue
    
    :netstat
    netstat -a
    goto 1
    
    :2
    cls
    echo Folgende Ports werden von Trojanern benutzt 
    start ports.txt
    
    goto menue
    
    :3 
    @echo off
    echo Bitte warten...
    echo.
    @echo off
    netstat -abn
    echo Fertig
    echo. 
    echo Hier sehen sie jetzt welches Programm zu welcher Verbindung gehoert
    echo.
    echo 
    echo (1) IP-Anpingen
    echo.
    echo (2) Zurueck zum Hauptmenue
    echo.
    
    set /p_choice=Waehlen sie aus was sie tuen wollen:
    
    if %_choice%==1 goto verbindungen
    
    if %_choice%==2 goto menue
    
    :Verbindungen
    @echo off
    set /P ip=IP hier eingeben:
    ping %ip%
    @echo off
    echo.
    echo (1) Nochmals die Verbindungen der Programme anschauen
    echo.
    echo (2) IP-Adresse anpingen 
    echo.
    echo (3) Zurueck ins Hauptmenue
    echo.
    set /p_choice=Weahlen sie aus was sie tuen wollen:
    echo.
    if %_choice%==1 goto 3
    if %_choice%==2 goto ipping
    if %_choice%==3 goto menue
    
    :ipping
    
    set /P ip=Geben sie die IP Adresse ein
    ping %ip%
    
    echo (1) Nochmals die Verbindungen der Programme anschauen
    echo.
    echo (2) IP-Adresse anpingen 
    echo.
    echo (3) Zurueck ins Hauptmenue
    echo.
    set /p_choice=Weahlen sie aus was sie tuen wollen:
    
    if %_choice%==1 goto 3
    if %_choice%==2 goto ipping
    if %_choice%==3 goto menue
    
    :4
    cls
    echo Wollen sie das Programm wirklich beenden?
    
    echo (1) Ja
    echo (2) Nein
    echo.
    
    set /p_choice=Waehlen sie 1 oder 2:
    
    if %_choice%==1 goto ende
    if %_choice%==2 goto menue
    
    :ende
    exit
    

    Für das IP-Adresse anpingen
    ________________________________________

    set /P ip=Geben sie die IP Adresse ein
    ping %ip%

    Mir würde es aber erst einmal reichen IP-Adressen anpingen zu können ich weiss das geht auch unter cmd ^^ Wieso sollte man da ein Programm für machen ?
    Ganz einfach: Weil ich es mit C++ machen will ^^ Und ja ich weiss man Batch Script ist nicht richtig eingerückt 😞



  • Das machst du schrittweise.

    - Zuerst übernimmt C++ nur die Textausgabe, Eingabe und die Menüführung.
    Die Netzwerksache übernimmt noch netstat selbst. Du kannst es mit der system-Funktion aufrufen und musst vorher natürlich den Parameterstring von deinem Programm entsprechend erstellen lassen.

    - Als nächsten großen Schritt übernimmst du auch netstats Job.
    (Es ist ja keine Schande, auch mal in den Sourcecode von netstat zu schmulen, wie es da gemacht wird.)

    - In 2-3 Monaten, wenn du es dann hast, dann schreibst du zuletzt noch alles schön in ein Klassendesign um, damit es schönes C++ ist.

    - Fertig.



  • Das "Problem" wovor du stehst, ist, dass Batch und C++ zwei vollkommen verschiedene Lösungsansätze für Aufgabenlösungen darstellen. Via Batch- oder Shell-Skripte rufst du die entsprechenden Befehle der (jeweiligen) Kommandozeileninterpreter auf bzw. startest bestehende Programme (welche natürlich auch in C++ geschrieben sein können).

    Während du mit Batch die die verschiedenen Befehle oder Programme ausführen kannst, hast du über C++ (und anderen Programmiersprachen) die Möglichkeit Programmierbibliotheken zu verwenden (APIs).

    Die STL ist so eine (std::vector, etc.).

    Ähnliche gibt es diese auch für so ziemlich alle denkbaren Anwendungsfälle auch u.a. dein gewünschtest Ping (kann in einer socket.h) oder ähnlich liegen. Genau weiß ich dass allerdings nicht -> Suchmaschinen helfen weiter 😉

    Grüße...

    Heiko



  • 2-3 Monate 😮

    Das in Batch hab ich in 2 Stunden gemacht oder so.



  • ... weil du es konntest 😉

    In den 2-3 Monaten sind das Erlernen von C++ und den Programmierbibliotheken mit eingerechnet.

    Oder konntest du nachdem du deinen PC gekauft hast (oder hast kaufen lassen) ad hoc dein Batch-Skript schreiben? 😉

    Grüße...

    Heiko



  • Ne das nicht^^
    Aber Batch konnte ich nach ca. 1 1/2 Wochen^^
    Aber Batch ist ja auch nicht so Umfangreich wie C++ 😃



  • Bassmaster schrieb:

    Ne das nicht^^
    Aber Batch konnte ich nach ca. 1 1/2 Wochen^^
    Aber Batch ist ja auch nicht so Umfangreich wie C++ 😃

    Eben - nach 2-3 Monaten C++-Lernens kannst Du ja auch deutlich MEHR implementieren als mit 1,5 Wochen Batch-Erfahrung.

    Gruß,

    Simon2.


Anmelden zum Antworten