Configuration de l'environnement de programmation et de développement de réseau Npcap à l'aide de gcc sous vscode

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).
    Insérez la description de l'image ici
  1. 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;
  2. 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
  3. Le troisième est le package de symboles de débogage, qui fournit un ensemble de symboles pour le débogage
  4. 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

  1. Exécutez et npcap-0.9997.exeinstallez Npcap, installation infaillible, pas d'introduction;
  2. Décompressez le contenu du SDK et placez- SDKle dans le dossier;
  3. Décompressez le fichier de code source dans le Source-codedossier;
  4. Décompressez le jeu de symboles dans le DebugSymbolsdossier
  5. Créez un Projectdossier, notre projet est développé dans ce dossier
  6. Sur la base de Projectl'établissement de dossiers srcet de bindossiers de fichiers, srcstockez votre code source, binstockez 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 Packpeut être

configuration vscode de la programmation Npcap

  1. Le Projectdossier vscode ouvert, (dossiers ouverts)
  2. En général, C/C++ce plugin créera automatiquement une configuration pour que vous puissiez éditer, sinon, créer un .vscodedossier, créer un c_cpp_properties.jsonfichier 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.jsonet task.jsonclassera, faites attention à vérifier si le contenu du paramètre à l'intérieur c_cpp_properties.jsonest 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.jsongé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.jsonet modifiez les Executor Mapéléments dans.
  • En settings.jsonédition, cet cppcorrespondant 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 $workspaceRootcelui 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
  • SDK

  • DebugSymbols

  • Code source


Je suppose que tu aimes

Origine blog.csdn.net/qq_37957939/article/details/108785793
conseillé
Classement