Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
164 changes: 102 additions & 62 deletions translation/README-kor.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
> ⚠️ **참고:** 이 번역은 AI를 사용하여 유지·동기화되며, 최신 영어 버전과 차이가 있을 수 있습니다. 부정확한 내용을 발견하시면 GitHub 이슈를 등록하거나 PR을 제출해 주세요.

<div align="center">

[![PcapPlusPlus 로고](https://pcapplusplus.github.io/img/logo/logo_color.png)](https://pcapplusplus.github.io)
Expand All @@ -15,7 +17,7 @@

[PcapPlusPlus](https://pcapplusplus.github.io/)는 네트워크 패킷을 캡처, 분석 및 생성하기 위한 멀티 플랫폼 C++ 라이브러리입니다. 이 라이브러리는 효율적이고 강력하며 사용이 용이하도록 설계되었습니다.

PcapPlusPlus는 다양한 네트워크 프로토콜을 디코딩하고 생성할 수 있는 기능을 제공하며, [libpcap](https://www.tcpdump.org/), [WinPcap](https://www.winpcap.org/), [Npcap](https://nmap.org/npcap/), [DPDK](https://www.dpdk.org/), [eBPF AF_XDP](https://www.kernel.org/doc/html/next/networking/af_xdp.html), [PF_RING](https://www.ntop.org/products/packet-capture/pf_ring/) 등과 같은 유용한 패킷 처리 엔진을 위한 손쉬운 C++ 래퍼를 지원합니다.
PcapPlusPlus는 다양한 네트워크 프로토콜을 디코딩하고 생성할 수 있는 기능을 제공하며, [libpcap](https://www.tcpdump.org/), [WinPcap](https://www.winpcap.org/), [Npcap](https://nmap.org/npcap/), [DPDK](https://www.dpdk.org/), [eBPF AF_XDP](https://www.kernel.org/doc/html/next/networking/af_xdp.html), [WinDivert](https://reqrypt.org/windivert.html), [PF_RING](https://www.ntop.org/products/packet-capture/pf_ring/) 등과 같은 유용한 패킷 처리 엔진을 위한 손쉬운 C++ 래퍼를 지원합니다.

번역: [English](../README.md) · [正體中文](./README-zh-tw.md) · 한국어

Expand Down Expand Up @@ -43,8 +45,8 @@ PcapPlusPlus는 다양한 네트워크 프로토콜을 디코딩하고 생성할
- [DPDK 및 PF_RING 지원](#dpdk-및-pf_ring-지원)
- [벤치마크](#벤치마크)
- [피드백 제공](#피드백-제공)
- [기여](#기여)
- [라이센스](#라이센스)
- [기여하기](#기여하기)
- [라이선스](#라이선스)

## 다운로드

Expand Down Expand Up @@ -103,7 +105,7 @@ PcapPlusPlus 웹사이트의 [소스에서 빌드](https://pcapplusplus.github.i
v23.09 이상의 PcapPlusPlus 릴리스는 GitHub 증명을 통해 서명됩니다. 모든 증명은 [여기](https://github.com/seladb/PcapPlusPlus/attestations)에서 확인할 수 있습니다. GitHub CLI를 통해 이러한 패키지의 증명을 검증할 수 있습니다. 패키지 검증을 위해 다음 명령어를 사용할 수 있습니다:

```shell
gh attestation verify <패키지 파일 경로> --repository seladb/PcapPlusPlus
gh attestation verify <path-to-package-file> --repository seladb/PcapPlusPlus
```

터미널에 다음과 같은 출력이 나타납니다:
Expand All @@ -114,13 +116,14 @@ gh attestation verify <패키지 파일 경로> --repository seladb/PcapPlusPlus

## 기능 개요

- __패킷 캡처__: [libpcap](https://www.tcpdump.org/), [WinPcap](https://www.winpcap.org/), [Npcap](https://nmap.org/npcap/), [Intel DPDK](https://www.dpdk.org/), [eBPF AF_XDP](https://www.kernel.org/doc/html/next/networking/af_xdp.html), [ntop의 PF_RING](https://www.ntop.org/products/packet-capture/pf_ring/) 및 [raw 소켓](https://en.wikipedia.org/wiki/Network_socket#Raw_socket)을 위한 손쉬운 C++ 래퍼를 통한 패킷 캡처 [[더 알아보기](https://pcapplusplus.github.io/docs/features#packet-capture)]
- __패킷 캡처__: [libpcap](https://www.tcpdump.org/), [WinPcap](https://www.winpcap.org/), [Npcap](https://nmap.org/npcap/), [Intel DPDK](https://www.dpdk.org/), [eBPF AF_XDP](https://www.kernel.org/doc/html/next/networking/af_xdp.html), [WinDivert](https://reqrypt.org/windivert.html), [ntop의 PF_RING](https://www.ntop.org/products/packet-capture/pf_ring/) 및 [raw 소켓](https://en.wikipedia.org/wiki/Network_socket#Raw_socket)을 위한 손쉬운 C++ 래퍼를 통한 패킷 캡처 [[더 알아보기](https://pcapplusplus.github.io/docs/features#packet-capture)]
- __패킷 분석 및 생성__: 다양한 [네트워크 프로토콜](https://pcapplusplus.github.io/docs/features#supported-network-protocols)에 대한 분석, 생성 및 편집을 지원 [[더 알아보기](https://pcapplusplus.github.io/docs/features#packet-parsing-and-crafting)]
- __파일로 패킷 읽기 및 쓰기__: __PCAP__ 및 __PCAPNG__ 형식의 파일을 지원 [[더 알아보기](https://pcapplusplus.github.io/docs/features#read-and-write-packets-fromto-files)]
- __라인 속도에서의 패킷 처리__: [DPDK](https://www.dpdk.org/), [eBPF AF_XDP](https://www.kernel.org/doc/html/next/networking/af_xdp.html), [PF_RING](https://www.ntop.org/products/packet-capture/pf_ring/)을 위한 효율적이고 쉬운 C++ 래퍼 [[더 알아보기](https://pcapplusplus.github.io/docs/features#dpdk-support)]
- __멀티 플랫폼 지원__: Linux, MacOS, Windows, Android 및 FreeBSD에서 완전 지원
- __패킷 재조합__: __TCP 재조합__ __IP 단편화와 재조합__ [[더 알아보기](https://pcapplusplus.github.io/docs/features#packet-reassembly)]
- __패킷 재조합__: TCP 재전송, 순서가 뒤바뀐 TCP 패킷, 누락된 TCP 데이터를 처리하는 독자적인 __TCP 재조합__ 구현과, IPv4 및 IPv6 단편을 생성·재조합하는 __IP 단편화 및 재조합__ 지원 [[더 알아보기](https://pcapplusplus.github.io/docs/features#packet-reassembly)]
- __패킷 필터링__: libpcap의 BPF 필터를 더 간편하게 사용 [[더 알아보기](https://pcapplusplus.github.io/docs/features#packet-filtering)]
- __TLS 핑거프린팅__: [JA3 및 JA3S](https://github.com/salesforce/ja3) TLS 핑거프린팅의 C++ 구현 [[더 알아보기](https://pcapplusplus.github.io/docs/features#tls-fingerprinting)]

## 시작하기

Expand Down Expand Up @@ -178,94 +181,131 @@ int main(int argc, char* argv[])
PcapPlusPlus는 다음의 세 가지 라이브러리로 구성됩니다:

1. __Packet++__ - 네트워크 패킷을 파싱하고 생성 및 편집하는 라이브러리
2. __Pcap++__ - 패킷을 캡처하고 전송하며 네트워크 및 NIC 정보, 통계를 제공하는 라이브러리 (libpcap, WinPcap, Npcap, DPDK, PF_RING 등과 같은 패킷 캡처 엔진을 위한 C++ 래퍼)
2. __Pcap++__ - 패킷을 캡처하고 전송하며 네트워크 및 NIC 정보, 통계를 제공하는 라이브러리 (libpcap, WinPcap, Npcap, DPDK, AF_XDP, WinDivert, PF_RING 등과 같은 패킷 캡처 엔진을 위한 C++ 래퍼)
3. __Common++__ - Packet++ 및 Pcap++에서 사용하는 일반적인 코드 유틸리티를 포함한 라이브러리

PcapPlusPlus 웹사이트의 [API 문서 섹션](https://pcapplusplus.github.io/docs/api)에서 자세한 API 문서를 확인할 수 있습니다.
누락된 내용이 있다면 [문의해 주세요](#피드백-제공).

## 멀티 플랫폼 지원

PcapPlusPlus는 현재 __Windows__, __Linux__, __MacOS__, __Android__, __FreeBSD__에서 지원됩니다. PcapPlusPlus 웹사이트에서 [지원 플랫폼](https://pcapplusplus.github.io/docs/platforms) 전체 목록을 확인할 수 있으며, [다운로드](#download) 섹션을 참조하여 해당 플랫폼에서 PcapPlusPlus를 시작하세요.
PcapPlusPlus는 현재
__Windows__
<picture>
Comment thread
seladb marked this conversation as resolved.
<img src="https://github.com/PcapPlusPlus/pcapplusplus.github.io/raw/master/static/img/os-logos/logo-windows.png" alt="" width="16" height="16"/>
</picture>,
__Linux__
<picture>
<img src="https://github.com/PcapPlusPlus/pcapplusplus.github.io/raw/master/static/img/os-logos/logo-linux.png" alt="" width="16" height="16"/>
</picture>,
__MacOS__
<picture><source media="(prefers-color-scheme: dark)" srcset="https://github.com/PcapPlusPlus/pcapplusplus.github.io/raw/master/static/img/os-logos/logo-apple-dark.png"/>
<img src="https://github.com/PcapPlusPlus/pcapplusplus.github.io/raw/master/static/img/os-logos/logo-apple.png" alt="" width="16" height="16"/>
</picture>,
__Android__
<picture>
<img src="https://github.com/PcapPlusPlus/pcapplusplus.github.io/raw/master/static/img/os-logos/logo-android.png" alt="" width="16" height="16"/>
</picture> 및
__FreeBSD__
<picture>
<img src="https://github.com/PcapPlusPlus/pcapplusplus.github.io/raw/master/static/img/os-logos/logo-freebsd.png" alt="" width="16" height="16"/>
</picture>에서 지원됩니다.
PcapPlusPlus 웹사이트의 [지원 플랫폼](https://pcapplusplus.github.io/docs/platforms) 전체 목록을 확인하시고, [다운로드](#다운로드) 섹션을 참조하여 해당 플랫폼에서 PcapPlusPlus를 시작하세요.

## 지원되는 네트워크 프로토콜

PcapPlusPlus는 현재 다음 프로토콜의 패킷을 파싱, 편집 및 생성할 수 있습니다:

### 데이터 링크 계층 (L2)

1. Ethernet II
2. IEEE 802.3 Ethernet
3. LLC (BPDU만 지원)
4. Null/Loopback
5. Packet trailer (패킷 패딩)
6. PPPoE
7. SLL (Linux cooked capture)
8. SLL2 (Linux cooked capture v2)
9. STP
10. VLAN
11. VXLAN
12. Wake on LAN (WoL)
13. NFLOG (Linux Netfilter NFLOG) - 파싱만 가능 (편집 불가)
1. Cisco HDLC
2. Ethernet II
3. IEEE 802.3 Ethernet
4. LLC (BPDU만 지원)
5. Null/Loopback
6. Packet trailer (패킷 패딩)
7. PPPoE
8. SLL (Linux cooked capture)
9. SLL2 (Linux cooked capture v2)
10. STP
11. VLAN
12. VXLAN
13. Wake on LAN (WoL)
14. NFLOG (Linux Netfilter NFLOG) - 파싱만 가능 (편집 불가)

### 네트워크 계층 (L3)

14. ARP
15. GRE
16. ICMP
17. ICMPv6
18. IGMP (IGMPv1, IGMPv2, IGMPv3 지원)
19. IPv4
20. IPv6
21. MPLS
22. NDP
23. Raw IP (IPv4 & IPv6)
24. VRRP (IPv4 & IPv6)
25. WireGuard
15. ARP
16. GRE
17. ICMP
18. ICMPv6
19. IGMP (IGMPv1, IGMPv2, IGMPv3 지원)
20. IPv4
21. IPv6
22. MPLS
23. NDP
24. Raw IP (IPv4 & IPv6)
25. VRRP (IPv4 & IPv6)
26. WireGuard

### 전송 계층 (L4)

26. COTP
27. GTP (v1 & v2)
28. IPSec AH & ESP - 파싱만 가능 (편집 불가)
29. TCP
30. TPKT
31. UDP
27. COTP
28. GTP (v1 & v2)
29. IPSec AH & ESP - 파싱만 가능 (편집 불가)
30. TCP
31. TPKT
32. UDP

### 세션 계층 (L5)

32. SDP
33. SIP
33. SDP
34. SIP

### 표현 계층 (L6)
### 프레젠테이션 계층 (L6)

34. SSL/TLS - 파싱만 가능 (편집 불가)
35. SSL/TLS - 파싱만 가능 (편집 불가)

### 응용 계층 (L7)

35. ASN.1 인코더 및 디코더
36. BGP (v4)
37. DHCP
38. DHCPv6
39. DNS
40. FTP
41. HTTP 헤더 (요청 및 응답)
42. LDAP
43. NTP (v3, v4)
44. Radius
45. S7 Communication (S7comm)
46. SMTP
47. SOME/IP
48. SSH - 파싱만 가능 (편집 불가)
49. Telnet - 파싱만 가능 (편집 불가)
50. 일반 페이로드
36. ASN.1 인코더 및 디코더
37. BGP (v4)
38. 암호화 키 디코더
39. DHCP
40. DHCPv6
41. DNS
42. DoIP
43. FTP
44. HTTP 헤더 (요청 및 응답)
45. LDAP
46. Modbus
47. MySQL - 파싱만 가능 (편집 불가)
48. NTP (v3, v4)
49. PEM 인코더 및 디코더
50. PostgreSQL Wire Protocol (PGWire) - 파싱만 가능 (편집 불가)
51. Radius
52. S7 Communication (S7comm)
53. SMTP
54. SOME/IP
55. SSH - 파싱만 가능 (편집 불가)
56. Telnet - 파싱만 가능 (편집 불가)
57. X509 인증서 - 파싱만 가능 (편집 불가)
58. 일반 페이로드

## DPDK 및 PF_RING 지원

[DPDK](https://www.dpdk.org/)는 빠른 패킷 처리를 위한 데이터 플레인 라이브러리 세트이며, [PF_RING™](https://www.ntop.org/products/packet-capture/pf_ring/)은 패킷 캡처 속도를 대폭 향상시키는 새로운 유형의 네트워크 소켓입니다. PcapPlusPlus는 DPDK 및 PF_RING에 대한 C++ 추상화 계층을 제공합니다. 자세한 내용은 PcapPlusPlus 웹사이트의 [DPDK](https://pcapplusplus.github.io/docs/dpdk) 및 [PF_RING](https://pcapplusplus.github.io/docs/features#pf_ring-support) 지원 페이지에서 확인하세요.
[Data Plane Development Kit (DPDK)](https://www.dpdk.org/)는 빠른 패킷 처리를 위한 데이터 플레인 라이브러리와 네트워크 인터페이스 컨트롤러 드라이버 모음입니다.

[PF_RING™](https://www.ntop.org/products/packet-capture/pf_ring/)은 패킷 캡처 속도를 획기적으로 향상시키는 새로운 유형의 네트워크 소켓입니다.

두 프레임워크 모두 매우 빠른 패킷 처리(라인 속도까지)를 제공하며, 라우터, 방화벽, 로드 밸런서 등 다양한 네트워크 애플리케이션에서 사용됩니다.
PcapPlusPlus는 DPDK 및 PF_RING 위에 C++ 추상화 계층을 제공합니다. 이 추상화 계층은 두 프레임워크를 사용할 때 발생하는 많은 보일러플레이트 코드를 제거하여 사용하기 쉬운 인터페이스를 제공합니다. 자세한 내용은 PcapPlusPlus 웹사이트의 [DPDK](https://pcapplusplus.github.io/docs/dpdk) 및 [PF_RING](https://pcapplusplus.github.io/docs/features#pf_ring-support) 지원 페이지에서 확인하세요.

## 벤치마크

## 성능 벤치마크
Matias Fontanini의 [packet-capture-benchmarks](https://github.com/mfontanini/packet-capture-benchmarks) 프로젝트를 사용하여 PcapPlusPlus와 다른 유사한 C++ 라이브러리(`libtins`, `libcrafter` 등)의 성능을 비교했습니다.

Comment thread
seladb marked this conversation as resolved.
PcapPlusPlus는 다른 C++ 라이브러리(`libtins`, `libcrafter` 등)와 성능을 비교하기 위해 Matias Fontanini의 [packet-capture-benchmarks](https://github.com/mfontanini/packet-capture-benchmarks) 프로젝트를 사용했습니다. 성능 결과는 PcapPlusPlus 웹사이트의 [벤치마크](https://pcapplusplus.github.io/docs/benchmark) 페이지에서 확인할 수 있습니다.
결과는 PcapPlusPlus 웹사이트의 [벤치마크](https://pcapplusplus.github.io/docs/benchmark) 페이지에서 확인할 수 있습니다.

## 피드백 제공

Expand Down
Loading