목차
0x01 다운로드 및 Npcap 및 관련 구성 요소 설치
공식 웹 사이트에서 Npcap의 SDK 및 환경 지원
Npcap : Windows 패킷 캡처 라이브러리 및 드라이버
여기에 4 개의 파일이 있습니다.
- Windows 7 / 2008R2, 8/2012, 8.1 / 2012R2, 10/2016, 2019 (x86 및 x64) 용 Npcap 0.9997 설치 프로그램.
- Npcap SDK 1.05 (ZIP).
- Npcap 0.9997 디버그 기호 (ZIP).
- Npcap 0.9997 소스 코드 (ZIP).
- 첫 번째는 설치 환경이며 필요한 환경이 설치되어 있지 않은 경우 드라이버가 누락됩니다. 프로그램은 필요한 정적 링크 라이브러리를 시스템에 삽입합니다.이 라이브러리는 프로그램이 호출하도록 요청하는 필수 프로그램입니다.
- SDK는 Npcap 네트워크 프로그래밍에 필요한 헤더 파일과 동적 링크 라이브러리를 포함하는 소프트웨어 개발 키트입니다.
- 세 번째는 디버깅을위한 심볼 세트를 제공하는 디버깅 심볼 패키지입니다.
- 네 번째는 Npcap에서 개발 한 소스 코드를 제공하며 개발자는이를 읽어서 기본 원리를 이해하거나 최적화 할 수 있습니다.
여기에서 4 개의 파일을 다운로드하십시오.
압축 해제 및 설치
여기에서는 개인 설치 방법을 소개합니다. 원칙적 으로 폴더를 변경하지 않고
생성 WinNetworkProgram
하고이 폴더 아래에서 다음 작업을 수행합니다.
npcap-0.9997.exe
Npcap을 실행하고 설치 하십시오 .- SDK 내용의 압축을 풀고
SDK
폴더에 넣습니다. - 소스 코드 파일을
Source-code
폴더에 압축 해제하십시오 . DebugSymbols
폴더에 기호 세트의 압축을 풉니 다.Project
폴더를 생성하면 프로젝트가이 폴더에 확장됩니다.- 를 기반으로
Project
폴더의 설립src
및bin
파일 폴더,src
소스 코드를 저장,bin
당신의 결과 실행 프로그램을 저장
0x02 vscode 구성
C 및 C ++ 컴파일 및 작동을위한 vscode 기본 환경 구성
- 이것은 네트워크에 대한 많은 정보의 일부입니다, 반복하지 마십시오, 당신은 플러그를 다운로드 할 수 있습니다, 제안 된 설치
C/C++ Extension Pack
가 될 수 있습니다
Npcap 프로그래밍의 vscode 구성
Project
폴더 vscode의 개방 (오픈 폴더)- 일반적
C/C++
으로이 플러그인은 편집 할 수있는 구성을 자동으로 생성합니다. 그렇지 않은 경우.vscode
폴더를 생성하고 그 안에c_cpp_properties.json
파일 을 생성 하고 다음 코드를 입력합니다.
{
"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
}
저장 및 종료.
테스트 파일 작성
test.c
파일에 다음 코드 를 작성합니다.
#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;
}
}
- 이 프로그램은 기기의 모든 네트워크 카드 목록을 인쇄합니다.
테스트
- 를 눌러 F5코드를 디버그하면 첫 번째 디버깅이 생성
launch.json
되고task.json
파일 이 생성 되며 내부 매개 변수 내용c_cpp_properties.json
이 이전 구성 , 즉이 부분과 동일한 지 확인하는 데주의를 기울 입니다.
"compilerArgs": [
"-L${workspaceFolder}/../SDK/Lib/",
"-lwpcap",
"-lPacket"
]
일반적으로이 파일은이 c_cpp_properties.json
를 기반으로 생성되며 큰 문제는 없습니다.
- 파일을 생성 한 후 다시 F5눌러 디버그 및 실행합니다. 동적 링크 라이브러리를 호출하려면 디버그하고 실행해야합니다.
- 콘솔에 다음 정보가 있습니다.
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}
성공
코드 실행기 실행 구성
- 설정-작업 영역-확장-실행 코드 구성으로 이동하여 항목을
settings.json
편집 하십시오Executor Map
. - 에서
settings.json
편집c
하고cpp
다음 항목에 해당하는 :
"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",
- 이런 식으로 Code Runner 플러그인을 직접 사용하여 코드를 직접 실행할 수 있습니다. 다른 프로젝트 프로그램의 컴파일 프로세스에 영향을주지 않도록 작업 공간에서 구성을 수정합니다.
- 다음은
$workspaceRoot
이전 구성의 것입니다.${workspaceFloder}
- 개발 된 파일 구조는 다음과 같습니다.
WinNetworkProgram
-
계획
- .vscode
- c_cpp_properties.json
- launch.json
- settings.json
- tasks.json
- src
- test.c
- 큰 상자
- test.exe
- .vscode
-
SDK
-
디버그 기호
-
소스 코드