업데이트로 돌아가기
New releaseAug 17, 2026

PacketSender v8.11.1

TCP, UDP, SSL, HTTP 전송/수신을 위한 네트워크 유틸리티

공유

소개

Packet Sender Logo

https://packetsender.com

다른 언어로 읽기: English, Español, Deutsch, Français, italiano 简体中文.

Downloads

Packet Sender는 TCP, UDP, SSL(암호화된 TCP) 패킷은 물론 HTTP/HTTPS 요청 및 패널 생성을 주고받을 수 있는 오픈 소스 유틸리티입니다. 메인라인 브랜치는 공식적으로 Windows, Mac, Desktop Linux(Qt 사용)를 지원합니다. 다른 곳에서 Packet Sender를 재컴파일하여 재배포할 수도 있습니다. Packet Sender는 무료이며 GPL v2 이상으로 라이선스됩니다. 상업적 및 개인적 용도로 사용할 수 있습니다. 앱이 유용하다고 생각하시면 개발이 계속될 수 있도록 기부/스폰서를 고려해 주세요.

목차

스폰서

Packet Sender는 다음 스폰서에게 감사드립니다.

IWL
IWL은 컴퓨터 네트워킹 제품을 만드는 캘리포니아 회사입니다.


NagleCode
NagleCode는 소프트웨어 출판사이자 개발 스튜디오입니다.


Eletiope
Eletiope는 전시관, 박물관 및 기업 쇼룸을 위한 조명, 시청각 및 몰입형 룸을 설치합니다.


John Huntington
저자, 컨설턴트, 교육자, 음향 엔지니어, 수상 경력의 사진작가이자 스톰 체이서.


여기에 이름/로고를 표시하시겠습니까?

지원

참고: Windows에서 문제가 있는 경우 (임시로) 방화벽을 비활성화해 보세요.

다운로드

데스크톱 다운로드

Packet Sender의 공식 릴리스는 PacketSender.com에서 다운로드할 수 있습니다. 일부 사이트에서 Packet Sender를 재배포하기도 합니다.

Windows Logo Mac Logo Linux Logo

iOS 모바일 앱

Packet Sender for iOS는 완전 네이티브이며, 최소한의 권한만을 요구하고 데이터를 수집하지 않습니다. 여러분을 존중하는 소프트웨어입니다. 이 노력을 지원해 주셔서 감사합니다.

iOS 버전은 Apple App Store에서 찾을 수 있습니다.

Packet Sender iOS

GUI

Packet Sender는 모든 데스크톱 버전에서 동일합니다. 유일한 차이점은 운영 체제에 맞는 테마입니다.

Packet Sender screenshot

  1. 패킷에는 이름, 대상 주소(도메인 이름은 전송 직전에 기본적으로 확인됨), 포트 및 관련 데이터가 있습니다.
  2. 테이블에는 저장된 패킷 목록이 있습니다. 더블클릭하여 이 테이블의 필드를 직접 편집할 수 있습니다.
  3. 오른쪽 아래에는 UDP, TCP 및 SSL 서버 상태와 포트(들)가 있습니다. 이를 클릭하면 프로토콜이 활성화 또는 비활성화됩니다. Packet Sender는 여러 포트에 바인딩을 지원합니다.
  4. IP 전환 버튼도 있습니다. 클릭하면 IPv4(기본값), IPv6 또는 사용자 지정 IP로 변경됩니다.

일반 참고 사항

  • 재전송 값이 "0"이면 단일 전송 패킷을 의미합니다.
  • 패킷 재전송 중에는 모든 재전송을 취소하는 버튼이 있습니다.
  • 방화벽을 확인하세요. Windows는 TCP 기반 서버를 적극적으로 차단합니다. 방화벽이 차단해도 Packet Sender는 여전히 작동하지만, 원치 않는 TCP 기반 패킷을 수신할 수 없습니다.
  • 선택적 응답을 보낼 수 있습니다. 동일한 응답이 TCP, UDP 및 SSL에 사용됩니다.
  • IPv6 전송의 경우 범위 ID도 필요합니다.
  • Packet Sender는 ASCII와 HEX 표기법의 혼합을 지원합니다:
    • 두 필드 중 하나를 더블클릭하여 다중 줄 편집기를 엽니다.
    • \XX는 XX(16진수)로 변환됩니다.
    • \n, \r, \t는 각각 0A, 0D, 09로 변환됩니다.
    • HEX 숫자는 공백으로 구분됩니다.
      • HEX 필드는 다른 일반적인 구분 기호(쉼표, 콜론(Wireshark), 세미콜론, "0x" 등)를 해석하고 자동 수정합니다. 매우 오류 허용적입니다.
      • 연속된 HEX 스트림도 지원됩니다. 바이트 수가 홀수인 경우 Packet Sender는 앞쪽 바이트에 0이 필요하다고 가정하고 자동 수정합니다.
    • ASCII 예시: hello world\r
    • HEX 예시: 68 65 6c 6c 6f 20 77 6f 72 6c 64 0d
    • 트래픽 로그에서 직접 패킷을 저장할 수 있습니다. 이름을 입력하라는 메시지가 표시되며, 소스 주소와 포트가 사용자 편의를 위해 전환됩니다.
    • HEX 필드에 파일을 직접 로드할 수도 있습니다. HEX 필드는 최대 10,922바이트 전송을 지원합니다. 명령줄을 통한 전송의 이론적 한계는 200MB입니다.

단축키/키보드 바로가기

상단의 필드는 CTRL+1, CTRL+2 등에서 CTRL+8(전송 버튼)까지 탐색할 수 있습니다. Mac에서는 단축키가 Command입니다.

단축키와 필드는 다음과 같습니다:

  • CTRL + 1 = 이름
  • CTRL + 2 = ASCII
  • CTRL + 3 = HEX
  • CTRL + 4 = 주소
  • CTRL + 5 = 포트
  • CTRL + 6 = 재전송 지연
  • CTRL + 7 = 프로토콜 선택
  • CTRL + 8 = 전송 (실행)

참고 사항:

  • 필드는 프로토콜 선택과 관계없이 해당 단축키에 연결됩니다.
  • TCP/UDP/SSL 옵션으로 이동하면 위/아래 또는 t/u/s/h 문자를 사용하여 선택할 수 있습니다.
  • 단축키를 사용하여 자동화하려는 경우(AutoHotKey와 같은 도구 사용), "이전 세션 복원"을 끄는 것이 좋습니다.

네트워크 기능

기본 설정

기본적으로 Packet Sender는 UDP, TCP 및 SSL 서버를 임의의 포트(오른쪽 아래 버튼으로 표시)에서 활성화하여 시작합니다. OS가 허용하는 경우 쉼표로 구분된 포트 번호를 사용하여 여러 포트에 바인딩할 수 있습니다. 예를 들어 0, 1000, 2000은 "임의" 포트와 1000, 2000 포트에 바인딩됩니다.

Basic Network Settings

이제 UDP 버튼에 3개의 포트가 바인딩되어 있습니다. 그중 1개는 임의입니다.

Bound UDP Example

다른 설정은 모든 요청에 대해 응답을 보내는 것입니다. 이 응답을 매크로로 설정할 수도 있습니다. 응답을 입력(또는 저장된 패킷 로드)하는 필드가 있습니다.

추가 UDP/TCP/SSL 설정

기본적으로 Packet Sender는 모든 IPv4 주소에 바인딩됩니다. 설정의 이 영역에서는 대신 IPv6에 바인딩하거나 특정 IP 주소에 바인딩할 수 있습니다.

특정 주소에 바인딩하는 것은 여러 NIC가 있고 통신(예: 브로드캐스트 패킷)을 특정 NIC를 통해 강제로 보내려는 경우 매우 유용합니다.

Bound UDP Example

일부 프로토콜은 클라이언트가 데이터를 보내기 전에 서버가 데이터를 보내도록 요구합니다(예: 많은 텔넷 서비스). 이 워크플로우는 "수신 후 전송"으로 활성화할 수 있습니다.

느린 장치(예: 약한 프로세서를 가진 임베디드 서버)가 있는 경우 "연결 후 500ms 지연"을 활성화할 수 있습니다. 이렇게 하면 느린 서버가 핸들러를 시작할 시간을 확보할 수 있습니다.

IPv4, IPv6, 사용자 지정 IP

Packet Sender의 내장 서버는 IPv4 또는 IPv6 중 하나를 지원하도록 구성되어 있지만, 동시에 둘 다 지원하지는 않습니다. 클라이언트의 경우 Packet Sender GUI 및 CLI는 전송 시 두 모드 사이를 원활하게 전환합니다(IPv6의 경우 범위 ID가 필요할 수 있음). 오른쪽 아래의 IPv4/IPv6 전환 버튼을 클릭하여 둘 사이를 전환합니다.

설정 내에서 Packet Sender의 서버가 사용자 지정 IP 주소에 바인딩하도록 강제할 수도 있습니다. 이는 여러 NIC가 있거나 복잡한 IP 설정이 있는 시스템에서 매우 유용할 수 있습니다. Packet Sender는 존재하지 않는 주소에 바인딩하라고 지시하면 오류를 발생시킵니다.

IP Specific binding

IPv4 서브넷 계산기

Packet Sender에는 내장 서브넷 계산기가 있습니다. 도구 메뉴 아래에 있습니다. Packet Sender Subnet Calc

  • 로그 창(하단 섹션)은 컴퓨터에서 발견된 비루프백 IPv4 및 IPv6 주소를 표시합니다.
  • 왼쪽에서 IP 필드에 IPv4 주소를 입력합니다.
  • 왼쪽에서 X.X.X.X 또는 /XX 표기법으로 서브넷을 입력합니다.
  • 계산 결과는 오른쪽에 표시됩니다.
  • 아래 필드는 IPv4 주소가 서브넷 중 하나에 속하는지 빠르게 확인하는 기능입니다.

Wake-On-LAN / 매직 패킷

Wake-On-LAN(또는 WOL)은 컴퓨터가 절전 모드에서 깨어나도록 지시하는 프로토콜입니다. 대상의 MAC 주소를 기반으로 하는 특수 데이터가 포함된 브로드캐스트 패킷에 의해 트리거됩니다. 자세한 내용은 Wikipedia를 참조하세요.

Packet Sender에는 내장 WOL 생성기가 있습니다. 도구 메뉴 아래에 있습니다.

WOL Tool

옵션을 입력하면 기본 GUI가 WOL 형식에 맞는 올바른 데이터로 채워집니다.

WOL results

WOL 패킷을 생성하고 전송하는 데 도움이 되는 CLI 옵션도 있습니다.```text packetsender --wol f8:23:66:30:e5:30 Sending broadcast Wake-On-LAN to target: F8:23:66:30:E5:30 on port 7 UDP (60360)://255.255.255.255:7 ff ff ff ff ff ff f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30 f8 23 66 30 e5 30

## SSL 클라이언트 및 서버

Packet Sender는 SSL을 통한 암호화된 연결 설정을 지원합니다.
이는 GUI 및 명령줄에서 지원됩니다.

Packet Sender는 Windows에서 사용하기 위해 OpenSSL을 번들로 제공합니다. Mac 및 Linux에서는 Packet Sender가 기본 SSL 라이브러리를 사용합니다.

![Packet Sender Direct TCP](https://assets.kitploit.com/production/public/readmes/4523/1598093377f33916c41f0879ee814bde67cbf3e1a3e168a6999aee9b57bbdb33.png)

SSL 참고 사항:
* 인증서 협상은 연결 중에 즉시 처리됩니다.
* 기본적으로 Packet Sender는 모든 SSL 오류(만료된 인증서, 잘못된 호스트 이름, 자체 서명 등)를 무시합니다.
* Packet Sender는 인증서 협상 진행 상황을 트래픽 로그에 출력합니다.
* Packet Sender는 사용된 암호화 알고리즘(예: AES 128)을 트래픽 로그에 출력합니다.

Packet Sender는 Windows에서 서버로 사용하기 위해 내부 "Snake Oil" 인증서를 번들로 제공합니다. 인증서와 키는 패킷 및 설정과 같은 위치에 있습니다.

_참고: 설정에서 인증서 위치를 재정의하면 Snake Oil 인증서도 재정의됩니다._

SSL 오류가 발생하면 Packet Sender가 트래픽 로그에 출력합니다. 설정에서 계속 진행하도록 되어 있으면(기본값) 암호화 협상을 계속합니다. 그렇지 않으면 연결 오류로 연결이 종료됩니다.

![Packet Sender Direct TCP Expired](https://assets.kitploit.com/production/public/readmes/4523/50197612c0f06695d86abbaea93e655154b6c51b43699af699b27afa7dd067f4.png)

## 멀티캐스트(실험적)

Packet Sender의 멀티캐스트 지원은 IPv4 멀티캐스트 주소로 전송을 시도하거나 멀티캐스트 하위 메뉴에서 트리거됩니다. 이 기능은 현재 실험적이며 다음과 같은 알려진 문제가 있습니다.

* Packet Sender는 멀티캐스트에 가입할 때 IPv6 지원을 포기합니다.
* 설정을 다시 방문하거나 IPv6로 전송을 시도할 때까지 포기 상태가 유지됩니다.
* Wi-Fi에서 멀티캐스트 가입이 실제로 적용되는 데 때로는 20초가 걸립니다.
* Packet Sender에는 스위치 재부팅 또는 기타 일반적인 오류가 발생할 경우 멀티캐스트 그룹에 다시 가입하는 로직이 없습니다.

IPv6 멀티캐스트 지원은 없지만, 로드맵에 있습니다. IPv6 멀티캐스트 지원을 원하는 스폰서는 저에게 연락해 주시기 바랍니다.

<a id="udptraffic"></a>

## UDP 트래픽 생성기(실험적)

일반 전송 시스템으로는 충분하지 않을 때 패킷으로 대상 IP를 강타하여 장치가 처리할 수 있는지 확인할 수 있습니다. 이 기능은 GUI 도구 모음의 _Tools -> Intense Traffic Generator_에서 찾을 수 있습니다.

이 기능은 실험적이며 표시된 메트릭이 완전히 테스트되지 않았습니다. 더 정확한 테스트를 위해 이 도구의 CLI 버전을 사용하는 것이 좋습니다.

![IP Specific binding](https://assets.kitploit.com/production/public/readmes/4523/45d73bd266b72bc4cbd1b88081e34096b8528c205cb2d8786c3c7d05b342a0f1.png)

# Packet Sender 기능


<a id="cloud"></a>
## Packet Sender Cloud

패킷 세트는 무료 [Packet Sender Cloud](https://cloud.packetsender.com/) 서비스를 사용하여 빠르게 저장/검색/공유할 수 있습니다. 클라우드는 협업, 튜토리얼, 최종 사용자 등을 위해 패킷을 공개적으로 표시하고 배포하는 데(URL을 통해) 사용될 수도 있습니다. Packet Sender는 공용 URL로 공개 패킷 세트를 가져올 수 있습니다.

이를 수행하는 다양한 이유가 있습니다:

* 모든 패킷을 준비하여 새 Packet Sender를 설치할 때 빠르게 검색할 수 있습니다.
* 다른 프로젝트에서 작업할 때 패킷 세트를 빠르게 전환할 수 있습니다.
* 협업 패킷 세트 생성을 위해 로그인을 공유할 수 있습니다(허용됨).
* 다른 사람들이 빠르게 찾고 가져올 수 있도록 패킷 세트의 공개 페이지를 가질 수 있습니다.

![Packet Sender Cloud Import](https://assets.kitploit.com/production/public/readmes/4523/903227249ca3b41c1dce277c23cdcc437649407f79adfa04d3b1bedf35b51f51.png)

네트워크 API를 게시하는 경우 공개 클라우드 페이지를 유지 관리하는 것이 사용자에게 패킷의 세부 사항(IP, 포트, 유형 등)을 힘들게 설명하는 것보다 훨씬 쉽습니다. 게다가 해당 페이지 업데이트도 쉽습니다.

자세한 내용은 다음에서 확인할 수 있습니다.
https://cloud.packetsender.com/help


<a id="portable"></a>
## 포터블 모드

Packet Sender는 "포터블" 모드를 지원합니다. 실행 시 `portablemode.txt` 파일을 찾고 해당 런타임 디렉토리에 누락된 설정 파일을 생성합니다. 이러한 파일은 `packets.ini`, `ps_settings.ini`, `ps.key`, `ps.pem`입니다.
`portablemode.txt`를 제거하면 일부 파일은 포터블로, 나머지는 표준 위치에 둘 수도 있습니다.

### 콘솔 전용 포터블 모드에서 제거할 수 있는 DDL
GUI가 필요하지 않은 경우 다음 DDL을 제거할 수 있습니다.
- Qt6Svg.dll
- Qt6Widgets.dll
- Qt6Gui.dll
- opengl32sw.dll
- D3Dcompiler_47.dll
- iconengines 디렉토리
- imageformats 디렉토리
- styles 디렉토리

이름에 `+` 문자가 포함된 DLL은 Windows 명령줄 복사 시 `"`로 묶지 않으면 문제가 발생할 수 있습니다.

### 보안 연결이 필요하지 않은 경우 제거할 수 있는 DDL
SSL이 필요하지 않은 경우 다음 DDL을 제거할 수 있습니다.
- libcrypto-1_1-x64.dll
- libssl-1_1-x64.dll


Windows 사용자의 런타임 디렉토리는 .exe 파일과 같은 위치입니다.

MAC 사용자의 경우 이 런타임 디렉토리는 `PacketSender.app/Contents/MacOS`에 있습니다.
INI 파일이 발견되면 `%APPDATA%` 또는 `Library/Application Support` 대신 해당 파일을 사용합니다.


<a id="smartresponses"></a>
## 스마트 응답

Packet Sender는 최대 5개의 스마트 응답을 지원합니다.

이 기능을 활성화하려면 GUI 도구 모음에서 _File -> Settings_로 이동하세요. _Smart Responses_ 탭으로 이동하여 **Send a Smart Response** 확인란을 활성화하세요.

![Packet Sender Direct TCP](https://assets.kitploit.com/production/public/readmes/4523/7f290e9b626613c1d0cf1f8225501a6fc787dd33538afde5c4d6a2570c0342e1.png)

* Packet Sender는 선택한 인코딩 내에서 패킷을 비교합니다.
* Packet Sender는 응답을 보내기 전에 인코딩을 변환합니다.
* 사용 가능한 인코딩:
  * Mixed ASCII -- 표준 Packet Sender 방식으로 ASCII와 비출력 문자를 함께 인코딩
  * HEX -- Packet Sender의 일반 HEX 인코딩


## 매크로

Packet Sender는 응답 전송 시 다음 매크로를 지원합니다:

* {{DATE}} -- 현재 날짜를 "yyy-mm-dd" 형식으로 전송합니다.
* {{TIME}} -- 현재 시간을 "hh:mm:ss ap" 형식으로 전송합니다.
* {{UNIXTIME}} -- 현재 에포크 타임스탬프를 전송합니다.
* {{COUNTER}} -- 이를 사용하는 각 패킷에 대해 증가하는 카운터를 전송합니다. 실행 시 1부터 시작합니다.
* {{RANDOM}} -- 32비트 또는 64비트에 따라 0~32767 또는 0~2147483647 범위의 난수를 전송합니다(Windows 기본 설치 프로그램은 32비트, Mac은 64비트).
* {{UNIQUE}} -- 임의의 문자열을 전송합니다. 내부 UUID를 사용하여 생성합니다.
Packet Sender는 전송 전에 매크로를 실제 값으로 대체합니다.


<a id="persistent"></a>
## 영구 TCP 및 SSL

Packet Sender는 별도의 GUI 창을 통해 영구 TCP 및 SSL 연결을 지원합니다. 메인 창의 확인란 또는 설정 창을 통해 활성화됩니다.

![Packet Sender Direct TCP and SSL](https://assets.kitploit.com/production/public/readmes/4523/006e1829e3cf602b556fd8a2a006995d964484136e03f06e72c67d9191943d08.png)

### 영구 TCP 및 SSL 참고 사항:
* 필요한 수만큼 영구 연결을 생성할 수 있습니다.
* 이전에 저장된 패킷을 드롭다운에서 로드할 수 있습니다.
* "Raw" 보기와 "ASCII" 보기가 있습니다. ASCII 보기는 원시 보기에서 출력되지 않는 데이터를 문제 해결하는 데 유용합니다.
* 트래픽은 메인 창 트래픽 로그에도 저장됩니다.
* 영구 연결에 파일을 업로드할 수 있습니다. 이 기능을 사용하는 경우 로깅을 끌 수 있습니다.
* 왼쪽 하단의 타이머는 유효한 데이터 패킷이 전송/수신되는 즉시 시작됩니다. 연결이 닫히면 중지됩니다.
* Return 키를 눌러 빠른 전송 시 선택적으로 캐리지 리턴을 추가할 수 있습니다. 이는 TCP/SSL 연결을 통한 명령 프롬프트 메뉴에 유용합니다. Packet Sender는 \r 확인란의 이전 상태를 기억합니다.
* 서버로 들어오는 영구 연결은 별도의 GUI 창을 실행합니다.
* 재전송 중에 영구 연결 패킷이 새 GUI 창으로 이어집니다. "Resending(1)"을 클릭하면 취소됩니다.

영구 연결은 명령줄에서 지원되지 않습니다.


<a id="http"></a>
# HTTP/HTTPS POST 및 GET
Packet Sender는 HTTP 및 HTTPS를 통한 POST/GET 요청 전송을 지원합니다.
프로토콜 드롭다운에는 HTTP GET, HTTP POST, HTTPS GET, HTTPS POST 옵션이 포함됩니다. HTTP(S)를 선택하면 입력 필드가 Name, Request, Address, Data(POST 선택 시), Generate Data 버튼(POST 선택 시), Load File(POST 선택 시)로 업데이트됩니다.

## HTTP/HTTPS GET/POST 요청 보내기
![](https://assets.kitploit.com/production/public/readmes/4523/c02008622da935fa3f75b9607c0a311ab3ad8b89f239179f7e24c3afcb5a8a5d.png)
* 프로토콜 드롭다운에서 HTTP(S) GET 또는 POST를 선택합니다.
* *Address* 필드에 도메인 또는 IP를 입력합니다.
* *Request* 필드에 필요한 경우 URL 경로를 추가합니다.
* *Port* 필드에서 HTTP의 기본값은 80, HTTPS는 443입니다.
* *Persistent TCP*를 체크하면 서버 데이터를 더 명확하게 볼 수 있습니다(HTTP 헤더는 자동으로 제거됨).

**Request 필드에 전체 URL을 붙여넣으면 Packet Sender가 파싱하여 다른 필드를 자동으로 채웁니다.**

### POST 요청의 경우:
* *Data* 필드에 수동으로 데이터를 추가할 수 있습니다.
	* 형식: key=value
	* 여러 매개변수의 경우: key=value&key=value&key=value
* 또는 *Generate Data* 버튼을 클릭할 수 있습니다.

<img src="https://assets.kitploit.com/production/public/readmes/4523/10d31cc53bcf0ba4d4a60d38c83a08231617142f8eec6b3cdb68f83964c3da06.png" width="400" height="284">

* 데이터를 추가하려면 Key 및 Value 매개변수를 입력하고 **+** 버튼을 클릭합니다.
* + 버튼으로 여러 매개변수를 추가할 수 있습니다.
* 매개변수 옆의 X 버튼을 클릭하여 제거합니다.
* 매개변수가 추가되면 Ok를 클릭하면 Data 필드에 데이터가 생성됩니다.

### 인증 자격 증명 추가:

<img src="https://assets.kitploit.com/production/public/readmes/4523/0592ee55242fa40c5eeb6dd0bd87956167c1461a7b224259a81ac065c055b9a0.png" width="800" height="339">

* File -> Settings -> HTTP로 이동합니다.
* *Generate Auth Header*를 체크합니다.
* *Host*, *UN/Client ID*, *PW/Access*를 입력합니다.
* *HTTP Auth Header*를 클릭하여 인증 헤더를 생성합니다.

<a id="panelgen"></a>
# 패널 생성기
Packet Sender는 컨트롤 패널 생성을 지원합니다. 패널은 스크립트(패킷)가 할당된 버튼으로 구성됩니다. 버튼을 클릭하면 해당 버튼에 참조된 패킷이 실행됩니다.

<img src="https://assets.kitploit.com/production/public/readmes/4523/933ef79915bb7e6ced4a6fff3b2bb9b98ef19619b5096476cb8d5496c487e3dd.png" width="400" height="358">

## 패널 로드
패널은 다음 두 가지 방법 중 하나로 생성할 수 있습니다:
* 도구 모음에서 **Panels**를 클릭하고 Load Starter Panel 또는 Empty Panel Project를 선택합니다.
	* Load Starter Panel은 스타터로 지정된 패널을 로드합니다. 스타터로 설정된 패널이 없으면 빈 패널 프로젝트가 열립니다.
* 저장된 패킷 2개 이상을 강조 표시하고 **Generate Panel** 버튼을 클릭합니다(Generate Panel 버튼은 여러 패킷이 선택된 경우에만 나타납니다).

Packet Sender는 명령줄 옵션 `--starterpanel`을 사용하여 스타터 패널로 패널 전용 모드로 실행할 수 있습니다.

![](https://assets.kitploit.com/production/public/readmes/4523/f7c192adf3d8525943d29a219a3792852144eb4b9142f45daafc91f2fa91cc8f.png)


## 패널 스크립팅
패널에서 버튼 스크립팅을 시작하려면 패널을 열고 편집 화면으로 이동해야 합니다. 패널 프로젝트가 열리면 오른쪽 하단의 버튼을 확인하세요. 이 버튼에 "Viewing"이라고 표시되면 보기 화면에 있는 것입니다. 버튼을 클릭하여 패널을 편집 화면으로 전환합니다.

편집 화면에 도착하면 패널에 버튼과 스크립트를 추가할 수 있습니다.

### 버튼 스크립팅
버튼 스크립트에는 전송할 패킷의 이름이 포함됩니다.

<img src="https://assets.kitploit.com/production/public/readmes/4523/a34e6ec6f371b15c13f41bf577df02c57b2fb3e695d88f572d90b96377d0c92e.png" width="400" height="360">

각 이름을 새 줄에 추가하여 여러 패킷을 버튼에 설정할 수 있습니다.

<img src="https://assets.kitploit.com/production/public/readmes/4523/8bdccde0bc587dbd0d2a64f5126f1de47cdbd5a7ea0fb518122fb17bd876163a.png" width="400" height="358">

패널 생성기는 패킷 사이에 "delay:_초 수_"를 추가하여 여러 패킷 간의 지연을 지원합니다.

<img src="https://assets.kitploit.com/production/public/readmes/4523/c9399a2ba90d0a747c851d15d8a7674eac530c5cb6f65b4182bb532872dbfbbb.png" width="400" height="359">

패널 생성기는 "panel:_패널 ID 번호_"를 추가하여 새 패널을 로드하는 스크립트를 지원합니다. 버튼의 모든 이전 스크립트가 실행되면 패널이 다음 패널로 전환됩니다.

<img src="https://assets.kitploit.com/production/public/readmes/4523/0b8c538ddacba7c2e1ebe089491b555d63875f425aa25bd3ebd693467c0c5aa2.png" width="400" height="358">


### 파일/URL 추가
패널 생성기는 로컬에 저장된 파일 또는 URL에 연결되는 버튼 추가를 지원합니다.
파일/URL 버튼은 편집 화면에서 오른쪽 하단의 *+*를 클릭하여 추가할 수 있습니다.
* 파일의 경우: PC에서 파일로 이동하여 파일을 마우스 오른쪽 버튼으로 클릭하고 복사를 선택합니다. Packet Sender의 _URL or File_ 텍스트 상자에 붙여넣습니다.
* URL의 경우: URL을 Packet Sender의 _URL or File_ 텍스트 상자에 복사합니다.
	* URL은 http:// 또는 https://로 시작해야 합니다.


![](https://assets.kitploit.com/production/public/readmes/4523/bff60b29ade00a278766d52ed4a29008589c6bfbbe41073ac502ef277973d2a3.png) 

파일 또는 URL이 복사되면 버튼의 이름을 입력하라는 메시지가 표시됩니다. 버튼은 패널 하단에 추가됩니다.

편집 화면에서 이 버튼을 클릭하면 파일/URL 링크와 버튼 이름을 편집할 수 있습니다. 팝업에서 **X**를 클릭하여 버튼을 삭제할 수도 있습니다.

![](https://assets.kitploit.com/production/public/readmes/4523/654a69dbb31583fc4990e0e89cb8944ce9198b1acefe202661d53b7313810290.png)

보기 화면에서 이 버튼을 클릭하면 기본 브라우저에서 URL이 열리거나 파일이 열립니다(파일 형식의 기본 프로그램 사용).


![](https://assets.kitploit.com/production/public/readmes/4523/4452261228d174d3b0329aa97a74ee0d2d641e2a1306cda0f30bf2776d5173c2.png) 

### 패널 편집/저장
패널의 편집 화면에 있을 때 File, Export, Settings, Help 메뉴가 있는 도구 모음이 있습니다. 이 도구 모음에서 패널 프로젝트를 저장, 내보내기, 가져오기, 로드 및 현재 패널 프로젝트를 편집할 수 있습니다.

Settings에서 다음을 수행할 수 있습니다:
* Set Panel Name - 선택하여 현재 패널 프로젝트 이름을 변경합니다.
* Set Panel ID - 선택하여 현재 패널 프로젝트와 연결된 ID를 변경합니다.
_참고: 사용 중인 ID를 설정하면 해당 패널이 대체됩니다._
* Starter Panel - 선택하여 현재 패널 프로젝트를 스타터 패널로 설정합니다.
* Delete Panel - 현재 패널 프로젝트 메뉴를 표시합니다. 삭제할 패널 프로젝트를 선택합니다. _참고: 패널이 닫힐 때까지 버튼과 스크립트는 편집 화면에 유지됩니다._

# DTLS
현재 DTLS는 Windows의 GUI에서만 지원됩니다. 다른 운영 체제는 Qt6를 사용하여 소스에서 컴파일하여 DTLS를 활성화할 수 있습니다.

## 개요
이 저장소에는 DTLS(Datagram Transport Layer Security) 프로토콜 기능이 포함되어 있습니다. 이 기능은 서버 확인 및 세션 지속성 옵션을 포함하여 DTLS 연결을 구성하고 관리하기 위한 그래픽 인터페이스를 추가했습니다.

## 기능

### 메인 창
![Main Window](https://assets.kitploit.com/production/public/readmes/4523/0aaff4836d2bcb9c46f958384a7966c57274d34010d2bb1d7f0da40091313e38.png)
- **Cipher Suites**: DTLS 통신에 원하는 암호 제품군을 선택하는 드롭다운입니다.
- **Server Common Name**: 클라이언트 측 확인을 위해 서버의 일반 이름을 입력하는 필드입니다.
- **Persistent Session**: 지속성 확인란을 활성화하여 첫 번째 핸드셰이크 후 세션 키를 저장하는 옵션입니다.
- **Optional Server Verification**: 핸드셰이크 중 양방향 확인을 활성화하는 옵션입니다.
- **DTLS Server Port**: 연결을 위한 DTLS 서버 포트를 정의하는 버튼입니다.

#### 추가 이미지:
![Cipher Suites Dropdown](https://assets.kitploit.com/production/public/readmes/4523/20617416ac8afc81546401553f3a5fceb1ef02f49990c5b73e46183e6cf7a4a7.png)
- 암호 제품군 선택 드롭다운의 상세 보기입니다.

![Persistent Connection](https://assets.kitploit.com/production/public/readmes/4523/159d7ba0ebaae36cf3691660c48243fc6d5681b45d06ace3e811e04b1c45df54.jpg)
- DTLS 동안의 지속적 연결 창입니다.

![Server Port](https://assets.kitploit.com/production/public/readmes/4523/66531473833c761a33b01bd43c50940ed49315fbfa943ec3d98f2b18b758d8cb.png)
- DTLS 서버 활성화 또는 비활성화를 위한 클릭 버튼입니다.

### 설정 창

#### 네트워크 탭
![Network Tab](https://assets.kitploit.com/production/public/readmes/4523/9542688396c7247944ca62104f072f42bcb5b53e4be1c499bbb0903333328228.png)
- **Send Simple Acknowledge**: 간단한 확인 응답 전송을 활성화하는 확인란입니다.
- **Enable DTLS Server**: DTLS 서버를 활성화하고 포트를 선택하는 옵션입니다.
- **Certificates and Keys**: SSL 구성과 유사하게 인증서와 키를 로드할 수 있습니다.

#### 스마트 응답 탭
![Smart Responses Tab](https://assets.kitploit.com/production/public/readmes/4523/7bc7255d6f1b93e7b81a40cc2332cc389b55bd46e4825e2f927e9259d922f98f.png)
- **Smart Responses**: 스마트 응답 기능이 DTLS 프로토콜을 통해 작동합니다.

## Wireshark 통합
Wireshark로 스니핑:

### 일반 연결
![Regular Connection](https://assets.kitploit.com/production/public/readmes/4523/0ae7850cdcb8dd8430f8c67f5451b162160e5d619c5e5205d0696b6166e79667.png)
- Wireshark로 캡처한 일반 DTLS 연결 예시입니다.

### 지속적 연결
![Persistent Connection](https://assets.kitploit.com/production/public/readmes/4523/330c6b983cb30cb00c23dbf0f35c6fa037396a707ac636fb82d469310079811c.png)
- Wireshark로 스니핑한 지속적 DTLS 연결 예시입니다.

<a id="cli"></a>
# 명령줄
Packet Sender는 컴퓨터의 명령줄에서 사용할 수 있습니다.

Windows에서는 확장자 .com(`packetsender.com`)을 사용하여 명령줄 인터페이스를 사용합니다. 선택적으로 확장자 없이 `packetsender`를 사용할 수도 있습니다. 확장자 .exe를 사용하면 GUI가 실행됩니다.


![Packet Sender CLI screenshot](https://assets.kitploit.com/production/public/readmes/4523/3107699037d0ea357ef617d1e9ab413543ad6d51de7cb9a99e85bad80da71093.png)

Linux의 경우 Packet Sender의 명령줄 시스템은 다른 Linux 유틸리티와 동일한 패턴을 따릅니다. 긴 이름(--version 등)과 짧은 이름(-v 등)이 있습니다. 이러한 옵션은 어떤 순서로든 배치할 수 있으며 Packet Sender가 올바르게 구문 분석합니다. 마지막 3개 옵션은 위치 기반이며 마지막에 나타나야 합니다. 이는 IP, 포트 및 데이터입니다. 저장된 패킷을 사용하는 경우 이러한 마지막 옵션은 선택 사항입니다.```text
packetsender --help
Usage: C:\Program Files\PacketSender\packetsender.com [options] address port data
Packet Sender is a Network UDP/TCP/SSL/HTTP Test Utility by NagleCode
See https://PacketSender.com/ for more information.

Options:
  -h, --help                Displays help on commandline options.
  --help-all                Displays help including Qt specific options.
  -v, --version             Displays version information.
  -q, --quiet               Quiet mode. Only output received data.
  -x, --hex                 Parse data-to-send as hex (default for
                            TCP/UDP/SSL).
  -a, --ascii               Parse data-to-send as mixed-ascii (default for http
                            and GUI).
  -A, --ASCII               Parse data-to-send as pure ascii (no \xx
                            translation).
  -l, --listen              Listen instead of send. Use bind options to specify
                            port/IP. Otherwise, dynamic/All.
  -r, --response <ascii>    Server mode response data in mixed-ascii. Macro
                            supported.
  -w, --wait <ms>           Wait up to <milliseconds> for a response after
                            sending. Zero means do not wait (Default).
  -f, --file <path>         Send contents of specified path. Max 10 MiB for
                            UDP, 100 MiB for TCP/SSL.
  -b, --bind <port>         Bind port. Default is 0 (dynamic).
  -6, --ipv6                Force IPv6. Same as -B "::". Default is IP:Any.
  -4, --ipv4                Force IPv4.  Same as -B "0.0.0.0". Default is
                            IP:Any.
  -B, --bindip <IP>         Bind custom IP. Default is IP:Any.
  -t, --tcp                 Send TCP (default).
  -s, --ssl                 Send SSL and ignore errors.
  -S, --SSL                 Send SSL and stop for errors.
  -u, --udp                 Send UDP.
  --http <http>             Send HTTP. Allowed values are GET (default) and
                            POST
  -n, --name <name>         Send previously saved packet named <name>. Other
                            options overrides saved packet parameters.
  --wol <mac>               Send Wake-On-LAN / Magic Packet to <mac> and
                            (optional) <port>.
  --bps <bps>               Intense traffic. Calculate rate based on value of
                            bits per second.
  --num <number>            Intense traffic. Number of packets to send. Default
                            unlimited.
  --rate <Hertz>            Intense traffic. Rate. Ignored in bps option.
  --usdelay <microseconds>  Intense traffic. Resend delay. Used if rate is 0.
                            Ignored in bps option.
  --max                     Intense traffic. Run as fast as possible.

Arguments:
  address                   Destination address/URL. Optional for saved packet.
  port                      Destination port/POST data. Optional for saved
                            packet.
  data                      Data to send. Optional for saved packet.

CLI 예시

CLI는 Windows, Linux, MAC에서 동일한 형식을 따릅니다.

형식은 다음과 같습니다: `packetsender [options] address port data````text packetsender -taw 500 mirrors.xmission.com 21 "USER anonymous\r\nPASS [email protected]\r\n" TCP (65505)://mirrors.xmission.com:21 55 53 45 52 20 61 6e 6f 6e 79 6d 6f 75 73 0d 0a 50 41 53 53 20 63 68 72 6f 6d 65 40 65 78 61 6d 70 6c 65 2e 63 6f 6d 0d 0a Response Time:5:51:37.042 pm Response HEX:32 32 30 2D 57 65 6C 63 6F 6D 65 20... Response ASCII:220-Welcome to XMission Internet...

## 패킷 수신을 위한 CLI 예제 (서버 모드)
기존 바인드 옵션을 사용하여 서버를 구성합니다.
- -b: 포트용
- -B: iP용
- -t/-u/-s: TCP, UDP 또는 SSL용
- -r: 응답 전송 (매크로 지원 ASCII)

TCP를 사용하여 동적 포트에 바인딩```text
packetsender -l
TCP Server started on 0.0.0.0:52567
Use ctrl+c to exit server.

From: 127.0.0.1, Port:52568
Response Time:2024-06-04 19:01:53.198
Response HEX:48 65 6C 6C 6F 
Response ASCII:Hello

From: 127.0.0.1, Port:52569
Response Time:2024-06-04 19:02:24.063
Response HEX:57 6F 72 6C 64 
Response ASCII:World

UDP를 사용하여 포트 8080에 바인딩```text packetsender -l -u -b 8080 UDP Server started on 0.0.0.0:8080 Use ctrl+c to exit server.

From: ::ffff:127.0.0.1, Port:49500 Response Time:2024-06-04 19:04:28.890 Response HEX:48 65 6C 6C 6F 20 55 44 50 20 50 61 63 6B 65 74 Response ASCII:Hello UDP Packet

UDP를 사용하여 포트 8080에 바인딩, 현재 시간 응답 포함```text
packetsender -l -u -b 8080 -r "{{TIME}}"
Loading response packet.
UDP Server started on 0.0.0.0:8080
Use ctrl+c to exit.

From: ::ffff:127.0.0.1, Port:59594
Response Time:2024-06-05 20:48:18.180
Response HEX:68 65 6C 6C 6F 20 70 61 63 6B 65 74 20 73 65 6E 64 65 72 
Response ASCII:hello packet sender

From: You (Response), Port:59594
Response Time:2024-06-05 20:48:18.182
Response HEX:30 38 3a 34 38 3a 31 38 20 70 6d 
Response ASCII:08:48:18 pm

IP 192.168.86.26, 포트 54321에 SSL을 사용하여 바인딩 중```text packetsender -l -s -B 192.168.86.26 -b 54321 Binding to custom IP 192.168.86.26 Listening for SSL packets in server mode. SSL Server started on 192.168.86.26:54321 Use ctrl+c to exit server.

From: 192.168.86.26, Port:52588 Response Time:2024-06-04 19:11:30.726 Error/Info:Encrypted with AESGCM(256)

From: 192.168.86.26, Port:52588 Response Time:2024-06-04 19:11:30.726 Error/Info:Authenticated with RSA

From: 192.168.86.26, Port:52588 Response Time:2024-06-04 19:11:30.726 Error/Info:Peer cert issued by

From: 192.168.86.26, Port:52588 Response Time:2024-06-04 19:11:30.726 Error/Info:Our Cert issued by SnakeOil

From: 192.168.86.26, Port:52588 Response Time:2024-06-04 19:11:30.747 Response HEX:43 6F 6F 6C 20 53 53 4C Response ASCII:Cool SSL

## 포트 및 사용자 정의 IP, IPv4 또는 IPv6에 바인딩하는 예제

Packet Sender 명령줄은 -B 옵션을 사용하여 사용자 정의 포트에 바인딩하여 IPv4/6 모드 또는 여러 NIC를 강제로 사용할 수 있습니다.```text
packetsender -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hello\r"
packetsender -taw 3000 192.168.0.201 5005 "Hello\r"
packetsender -B 192.168.0.200 -taw 3000 192.168.0.201 5005 "Hello\r"
packetsender -B fe80::a437:399a:3091:266a%ethernet_32769 -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hello\r"
packetsender -B fe80::a437:399a:3091:266a -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hello\r"

SSL을 사용하고 오류를 무시하는 CLI 예제

명령줄에는 SSL 오류 시 무시하거나 중단하는 옵션이 있습니다. 기본값은 무시입니다.

  • -s 옵션을 사용하여 SSL을 보내고 오류를 무시합니다.
  • -S 옵션을 사용하여 SSL을 보내고 오류가 발생하면 중지합니다.```text packetsender -saw 500 expired.packetsender.com 443 "GET / HTTP/1.0\r\n\r\n" SSL Error: The certificate has expired SSL (54202)://expired.packetsender.com:443 47 45 54 20 2f 20 48 54 54 50 2f 31 2e 30 0d 0a 0d 0a Cipher: Encrypted with AES(128)

Response Time:3:24:55.695 pm Response HEX:48 54 54 50 2f 31 2e 31 20 34 32 31 20 0d 0a 53 65 72 76 65 72 3a 20 6e 67 69 6e 78 2f 31 2e 31 30 2e 30 20 28 55 62 75 6e 74 75 29 0d Response ASCII:HTTP/1.1 421 \r\nServer: nginx/1.10.0 (Ubuntu)\r

## HTTP를 사용하는 예제 CLI
참고: 내장된 기본 패킷을 사용합니다.```text
packetsender --name "HTTPS POST Params"
packetsender --http GET "https://httpbin.org/get"
packetsender --http POST "https://httpbin.org/post" "{}"

CLI 강력 트래픽 생성기 예제

명령줄 강력 트래픽 생성기는 GUI 버전과 거의 동일하게 작동하지만 더 정밀하고 더 많은 제어 옵션을 제공하며 (그리고 더 강력합니다!).

사용 방법에 대한 예제는 아래를 참조하세요. 이러한 계산은 "Best Effort" 방식으로 이루어집니다. 대체로 잘 작동하지만, 프로세서 스파이크나 다양한 네트워크 문제로 인해 정확도가 떨어질 수 있습니다. 스레딩이 실시간이 아니며 보정 시도도 매우 스마트하지 않습니다.

  • "내 멋진 패킷"을 20Hz 속도로 재전송
  • "내 멋진 패킷"을 2000 baud의 bps로 재전송
  • "내 멋진 패킷"을 가능한 한 빠르게 재전송
  • "내 멋진 패킷"을 각 패킷 사이에 2000000 마이크로초 지연으로 재전송

참고: Windows의 경우 ".com" 빌드를 사용하십시오. 즉, 각 예제는 packetsender.com이 됩니다.```text packetsender --rate 20 --name "My Awesome Packet" packetsender --bps 2000 --name "My Awesome Packet" packetsender --rate 0 --name "My Awesome Packet" packetsender --usdelay 2000000 --name "My Awesome Packet"

<a id="building"></a>
# Packet Sender 빌드하기
유일한 의존성은 Qt SDK입니다.

## Windows/MAC용 Packet Sender 빌드하기
1. https://www.qt.io/download-open-source/에서 Qt 설치 프로그램을 다운로드합니다.
1. 컴파일러가 없는 경우 MingGW를 설치하도록 합니다.
1. 프로젝트 PacketSender.pro를 엽니다.
1. 빌드!

Windows와 Mac 버전은 Qt 5.12를 사용하여 빌드되었습니다. Packet Sender는 Qt 6을 지원하지만 cmake는 지원하지 않습니다.

## Linux용 Packet Sender 빌드하기
다음은 Ubuntu 16.04용 명령 시퀀스입니다. 사용 중인 Linux 플랫폼에 맞게 조정하세요. Packet Sender는 기본 Qt SDK 외에 추가 라이브러리가 필요하지 않습니다. 기본 Fedora에서 빌드 문제가 있다는 얘기를 들었습니다. Fedora 전문가가 통찰력을 가지고 계시다면 알려주시기 바랍니다. 설명을 추가하겠습니다.

모험심이 있다면 master 브랜치에서 빌드해도 좋습니다. 최신 안정 빌드가 포함되어 있습니다. development 브랜치는 피하는 것이 좋습니다.```bash
sudo apt-get update
sudo apt-get install qt5-default build-essential
wget https://github.com/dannagle/PacketSender/archive/(Version).tar.gz
tar -xzvf (Version).tar.gz
cd PacketSender-(Version)/src
qmake PacketSender.pro
make

실행하려면 사용:```text ./PacketSender

실행되지 않으면 실행 가능하도록 설정해야 할 수도 있습니다.```text
chmod a+x PacketSender

기능 개선/요청

기능이 빠져 있나요? 고용하여 Packet Sender에 추가할 수 있습니다.

법적 / 규정 준수

라이선스는 GPL v2 이상입니다. 다른 라이선스가 필요하시면 문의해 주세요.

일부 Packet Sender 배포판은 OpenSSL을 사용할 수 있습니다.

최신 VPAT은 이 저장소에서 찾을 수 있습니다.

저작권

Packet Sender는 Dan Nagle이 작성했으며 © NagleCode, LLC에서 발행했습니다. - @NagleCode - PacketSender.com

카테고리