table des matières
0x01 télécharger et installer Npcap et les composants associés
Prise en charge du SDK et de l'environnement dans Npcap sur le site officiel
Npcap: Windows Packet Capture Library & Driver
Il y a quatre fichiers ici
- Programme d'installation Npcap 0.9997 pour Windows 7 / 2008R2, 8/2012, 8.1 / 2012R2, 10/2016, 2019 (x86 et x64).
- Npcap SDK 1.05 (ZIP).
- Symboles de débogage Npcap 0.9997 (ZIP).
- Code source Npcap 0.9997 (ZIP).
- Le premier est l'environnement d'installation, l'environnement nécessaire est installé, sinon, le pilote sera manquant. Le programme injectera les bibliothèques de liens statiques nécessaires dans le système, qui sont des programmes nécessaires que le programme demande à appeler;
- SDK est un kit de développement logiciel, qui contient les fichiers d'en-tête nécessaires et les bibliothèques de liens dynamiques pour la programmation réseau Npcap
- Le troisième est le package de symboles de débogage, qui fournit un ensemble de symboles pour le débogage
- Le quatrième fournit le code source développé par Npcap. Les développeurs peuvent le lire pour comprendre le principe sous-jacent ou l'optimiser.
Téléchargez ces quatre fichiers ici
Décompressez et installez
La méthode d'installation personnelle est présentée ici. Le principe est de créer un dossier inchangé , et les opérations suivantes sont effectuées sous ce dossier
WinNetworkProgram
- Exécutez et
npcap-0.9997.exe
installez Npcap, installation infaillible, pas d'introduction; - Décompressez le contenu du SDK et placez-
SDK
le dans le dossier; - Décompressez le fichier de code source dans le
Source-code
dossier; - Décompressez le jeu de symboles dans le
DebugSymbols
dossier - Créez un
Project
dossier, notre projet est développé dans ce dossier - Sur la base de
Project
l'établissement de dossierssrc
et debin
dossiers de fichiers,src
stockez votre code source,bin
stockez votre programme exécutable résultant
Configuration du vscode 0x02
configuration de l'environnement de base vscode pour la compilation et le fonctionnement C et C ++
- Cela fait partie de beaucoup d'informations sur le réseau, à ne pas répéter, vous pouvez télécharger la fiche, l'installation proposée
C/C++ Extension Pack
peut être
configuration vscode de la programmation Npcap
- Le
Project
dossier vscode ouvert, (dossiers ouverts) - En général,
C/C++
ce plugin créera automatiquement une configuration pour que vous puissiez éditer, sinon, créer un.vscode
dossier, créer unc_cpp_properties.json
fichier dedans et remplir le code suivant:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/..//SDK/Include/**",
"${workspaceFolder}/../SDK/Include",
"${workspaceFolder}/src/**",
"${workspaceFolder}/src"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "D:\\etc\\MinGW\\bin\\gcc.exe",
"cStandard": "gnu18",
"cppStandard": "gnu++14",
"intelliSenseMode": "gcc-x64",
"compilerArgs": [
"-L${workspaceFolder}/../SDK/Lib",
"-lwpcap",
"-lPacket"
]
}
],
"version": 4
}
Sauvegarder et quitter.
Écrire des fichiers de test
test.c
Écrivez le code suivant dans le fichier:
#include "pcap.h"
#include <stdio.h>
int main()
{
char errbuf[PCAP_ERRBUF_SIZE];//存放错误信息的缓冲
pcap_if_t *it;
int r;
r=pcap_findalldevs(&it,errbuf);
if(r==-1)
{
printf("err:%s\n",errbuf);
exit(-1);
}
while(it)
{
printf(":%s\n",it->name);
it=it->next;
}
}
- Le programme imprime une liste de toutes les cartes réseau de la machine
tester
- Appuyez F5pour déboguer le code, le premier débogage générera
launch.json
ettask.json
classera, faites attention à vérifier si le contenu du paramètre à l'intérieurc_cpp_properties.json
est le même que la configuration précédente , c'est-à-dire cette partie
"compilerArgs": [
"-L${workspaceFolder}/../SDK/Lib/",
"-lwpcap",
"-lPacket"
]
De manière générale, ce fichier est c_cpp_properties.json
généré à partir de celui-ci et il n'y aura pas de problèmes majeurs.
- Après avoir généré le fichier, appuyez à nouveau F5pour déboguer et exécuter. Notez que vous devez déboguer et exécuter pour appeler la bibliothèque de liens dynamiques
- Il y a les informations suivantes dans la console
Microsoft Windows [版本 10.0.19041.508]
(c) 2020 Microsoft Corporation. 保留所有权利。
D:\home\xxxx\WinNetworkProgram> cmd /C "c:\Users\xxx\.vscode\extensions\ms-vscode.cpptools-1.0.1\debugAdapters\bin\WindowsDebugLauncher.exe --stdin=Microsoft-MIEngine-In-340uippl.fhl --stdout=Microsoft-MIEngine-Out-ekoupmwk.30e --stderr=Microsoft-MIEngine-Error-jpdvtcwn.bxf --pid=Microsoft-MIEngine-Pid-xdcenvcj.2rm --dbgExe=D:\etc\MinGW\bin\gdb.exe --interpreter=mi "
:\Device\NPF_{
456C0DB7-9C02-48CE-BF9C-D0201D93A39B}
:\Device\NPF_{
65EB5D2F-C7FD-4DAB-B591-042BF9295C9B}
:\Device\NPF_{
D235884A-3C87-4777-9B9C-9AF186C3BADF}
Succès
Configuration d'exécution de Code-Runner
- Accédez à Paramètres-Zone de travail-Extension-Configuration du code d'exécution
settings.json
et modifiez lesExecutor Map
éléments dans. - En
settings.json
édition,c
etcpp
correspondant aux éléments suivants:
"c": "cd $dir && gcc $fileName -o $workspaceRoot\\bin\\$fileNameWithoutExt -L$workspaceRoot\\..\\SDK\\Lib -lwpcap -lPacket && cd $workspaceRoot\\bin\\ && $fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $workspaceRoot\\bin\\$fileNameWithoutExt -L$workspaceRoot\\..\\SDK\\Lib -lwpcap -lPacket && cd $workspaceRoot\\bin\\ && $fileNameWithoutExt",
- De cette manière, vous pouvez utiliser directement le plug-in Code Runner pour exécuter le code directement. Afin de ne pas affecter le processus de compilation des autres programmes du projet, la configuration est modifiée dans l'espace de travail
- Voici
$workspaceRoot
celui de la configuration précédente${workspaceFloder}
- La structure de fichier développée est la suivante:
WinNetworkProgram
-
Projet
- .vscode
- c_cpp_properties.json
- launch.json
- settings.json
- tâches.json
- src
- test.c
- poubelle
- test.exe
- .vscode
-
SDK
-
DebugSymbols
-
Code source