0x01. LES FLUX
Les flux peuvent déterminer plein de choses différentes, notamment en programmation. Ce peut être un flux de fichier, un flux spécifique à un objet (je pense au handle pour les clé de registre). Dans le cas de MSDOS il se limite à l'écriture de fichier. Voyons comment y accéder.
echo "ma premiere chaine de caractere" >c:/mon_fichier.txt REM - Le symbole > créé un fichier et insère un texte dedans REM - par exemple echo > C:/WINDOWS/explorer.exe va vider REM - le contenu du fichier explorer.exe et le rendre inutilisable echo. >>c:/mon_fichier.txt REM - Alors que >> permet d'ajouter une chaine de caractère REM - par exemple echo "texte cache" >> C:/MP3/PumpIt.mp3 REM - aura pour effet de cacher du texte dans le fichier MP3 REM - (la structure d'un MP3 permet cette opération, ce REM - n'est pas le cas de tout les types de fichiers) echo "concatenation" >>c:/mon_fichier.txt echo "ecrasement du fichier effectue" >c:/mon_fichier.txt echo "ecriture d'un ads" > c:/mon_fichier.txt:flux.txt
0x02. JOURNAL D'ACTIVITE
Le programme ci-dessous permet de surveiller les activités d'un ordinateur. Ce script peut être utile dans le cadre d'un audit ou d'un projet de maintenance, il est sans doute à améliorer.
@echo off SET FICHIER=//192.168.0.1/LOGS/%USERNAME%-%DATE:~0,2%_%DATE:~3,2%_%DATE:~-2,2%.log REM - FICHIER sera de la forme: //192.168.0.1/LOGS/Exodus-07_04_07-files.log REM - ou bien : //192.168.0.1/LOGS/Exodus-07_04_07-lan.log cls echo Creation du journal d'activite en cours... echo. echo Listing des fichiers presents sur le disque dur C. >d:/logs/files.log echo ================================= >>%FICHIER%-files.log dir /b /a /s c:/ >>%FICHIER%-files.log echo. >>%FICHIER%-files.log echo ________________________________________________________________________________ >>%FICHIER%-files.log echo. >>%FICHIER%-files.log echo. >>%FICHIER%-files.log echo Informations generales >>%FICHIER%-lan.log echo ====================== >>%FICHIER%-lan.log if "%OS%"=="Windows_NT" goto NT :9x REM - Un label permet un appel, saut depuis un GOTO REM - Juste pour la mise en forme, ce label n'est pas nécessaire echo Systeme d'exploitation= Windows_9x >>%FICHIER%-lan.log goto NEXT_9x :NT echo Utilisateur= %USERNAME% >>%FICHIER%-lan.log echo Nom machine= %COMPUTERNAME% >>%FICHIER%-lan.log echo Domaine= %USERDOMAIN% >>%FICHIER%-lan.log echo Systeme d'exploitation= %OS% >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ________________________________________________________________________________ >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo Listing des processus excutes sur %COMPUTERNAME% >>%FICHIER%-lan.log echo ================================= >>%FICHIER%-lan.log tasklist >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ________________________________________________________________________________ >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log :NEXT_9x echo Etat du reseau >>%FICHIER%-lan.log echo ============== >>%FICHIER%-lan.log ipconfig -all >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ________________________________________________________________________________ >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo Table de routage >>%FICHIER%-lan.log echo ================ >>%FICHIER%-lan.log netstat -r >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ________________________________________________________________________________ >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo Connexions actives >>%FICHIER%-lan.log echo ================== >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ] etablie [--------------------------------------------------------------------- >>%FICHIER%-lan.log netstat -n >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ] en ecoute [------------------------------------------------------------------- >>%FICHIER%-lan.log netstat -a >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ] par applications [------------------------------------------------------------ >>%FICHIER%-lan.log netstat -ab >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ________________________________________________________________________________ >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo Connexion a internet >>%FICHIER%-lan.log echo ==================== >>%FICHIER%-lan.log ping google.fr | find "TTL" >>%FICHIER%-lan.log REM - La fonction find "TTL" permet de chercher une cha?ne de caractère dans la sortie REM - par exemple dans ce cas si ping google.fr contient TTL dans sa réponse alors REM - la sortie : fenêtre MSDOS, ou dans notre cas le fichier d:/logs/lan.log echo. >>%FICHIER%-lan.log echo ________________________________________________________________________________ >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo Statistiques par carte >>%FICHIER%-lan.log echo ====================== >>%FICHIER%-lan.log netsh interface ip show interface >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo ________________________________________________________________________________ >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo. >>%FICHIER%-lan.log echo. echo --- EOF --- >>%FICHIER%-lan.log echo.
0x03. CONCLUSION
Ce tutorial pour MSDOS est court car il ne mérite pas plus d'attention que ça. Il est utile d'avoir des notions en MSDOS est c'est justement le but de cet article. La plupart des fonctions MSDOS ont un contexte d'aide - souvent "-h" ou "/?", suffisament fourni pour apprendre de soi-même.
=> Écrit par : Nicolas, le 06 octobre 2007