他の言語でもお読みいただけます: 英語、スペイン語、ドイツ語、フランス語。
Packet Sender は、TCP、UDP、および SSL (暗号化された TCP) パケットの送受信、HTTP/HTTPS リクエストおよびパネル生成を可能にするオープン ソース ユーティリティです。メインライン ブランチは、Windows、Mac、およびデスクトップ Linux (Qt を使用) を正式にサポートしています。他の場所では Packet Sender を再コンパイルして再配布する場合があります。 Packet Sender は無料で、GPL v2 以降のライセンスが必要です。商用利用も個人利用も可能です。アプリが役立つと思われる場合は、開発を継続できるよう寄付/スポンサーをご検討ください。
スポンサー
GUI
集中トラフィック ジェネレーター (GUI)
ネットワーク
ダウンロード
サポート
IPv4 サブネット計算ツール
Wake On LAN / マジックパケット
パケット送信者クラウド
携帯モード
マクロとスマート レスポンス
永続的な TCP と SSL
HTTP/HTTPS リクエスト
パネルジェネレーター
コマンドラインインターフェース
集中トラフィック ジェネレーター (CLI)
パケット送信者の構築
Packet Sender は以下のスポンサーに感謝いたします。
IWL は、コンピュータ ネットワーキング製品を開発しているカリフォルニアの会社です。
NagleCode はソフトウェア発行者および開発スタジオです。
Eletiope は、展示会や博物館、企業のショールームに照明、オーディオビジュアル、イマーシブ ルームを設置しています。
あなたの名前/ロゴをここに記載しますか?
注: Windows で問題が発生した場合は、ファイアウォールを (一時的に) 無効にしてみてください。
Packet Sender の公式リリースは、PacketSender.com からダウンロードできます。 Packet Sender を再配布しているところもあります。
Packet Sender はすべてのデスクトップ バージョンで同一です。唯一の違いは、オペレーティング システムに一致するテーマです。
上部のフィールドは、CTRL+1、CTRL+2 などから CTRL+8 (送信ボタン) までを使用して移動できます。 Mac の場合、ショートカット キーは Command です。
ホットキーとフィールドは次のとおりです。
いくつかのメモ:
デフォルトでは、Packet Sender は、ランダム ポート (右下のボタンとして表示) で有効になっている UDP、TCP、および SSL サーバーを使用して起動します。カンマ区切りのポート番号を使用して、任意の数のポートにバインドできます (OS で許可されている場合)。たとえば、 0, 1000, 2000
「ランダム」およびポート 1000、2000 にバインドされます。
UDP ボタンには、バインドされた 3 つのポートが表示されます。そのうちの 1 つはランダムです。
もう 1 つの設定は、すべてのリクエストに応答で応答することです。このリクエストをマクロにすることもできます。応答を入力する (または保存されたパケットをロードする) フィールドがあります。
デフォルトでは、Packet Sender は任意の IPv4 アドレスにバインドされます。設定のこの領域では、代わりに任意の IPv6 にバインドするか、特定の IP アドレスにバインドすることができます。
特定のアドレスへのバインドは、複数の NIC があり、特定の NIC からの通信 (ブロードキャスト パケットなど) を強制したい場合に非常に役立ちます。
一部のプロトコルでは、クライアントが送信する前にサーバーがデータを送信することを想定しています (多くの Telnet サービスなど)。このワークフローは、「送信前に受信」を使用して有効にすることができます。
遅いデバイス (弱いプロセッサを搭載した組み込みサーバーなど) を使用している場合は、「接続後の 500 ミリ秒の遅延」を有効にすることをお勧めします。これにより、サーバーがハンドラーを起動する時間が遅くなります。
Packet Sender の組み込みサーバーは、IPv4 または IPv6 のいずれかをサポートするように構成されていますが、両方を同時にサポートすることはできません。クライアントの場合、パケット センダー GUI と CLI は送信時に 2 つのモードをシームレスに切り替えます (IPv6 の場合はスコープ ID が必要な場合があります)。右下の IPv4 / IPv6 トグルをクリックして、2 つを切り替えます。
設定内で、Packet Sender のサーバーを強制的にカスタム IP アドレスにバインドすることもできます。これは、複数の NIC または複雑な IP セットアップを備えたシステムに非常に役立ちます。存在しないアドレスにバインドするように指示された場合、Packet Sender はエラーをトリガーします。
Packet Sender にはサブネット計算機が組み込まれています。これは「ツール」メニューの下にあります。
Wake-On-LAN (WOL) は、コンピュータにスリープから復帰するように指示するプロトコルです。これは、ターゲットの MAC アドレスに基づく特別なデータを含むブロードキャスト パケットによってトリガーされます。詳細については、Wikipedia をご覧ください。
Packet Sender には WOL ジェネレーターが組み込まれています。これは「ツール」メニューの下にあります。
オプションを入力すると、メイン GUI に WOL 形式の正しいデータが入力されます。
WOL パケットの生成と送信を支援する CLI オプションもあります
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
Packet Sender は、SSL 経由の暗号化接続の確立をサポートしています。これは、GUI とコマンド ラインでサポートされています。
Packet Sender には、Windows で使用するための OpenSSL がバンドルされています。 Mac および Linux では、Packet Sender はネイティブ SSL ライブラリを使用します。
SSLに関する注意事項:
Packet Sender には、Windows のサーバーとして使用するための内部「Snake Oil」証明書がバンドルされています。証明書とキーはパケットと設定と同じ場所にあります。
注: [設定] で証明書の場所を上書きすると、snake-oil 証明書も上書きされます。
SSL エラーが発生した場合、Packet Sender はそれをトラフィック ログに出力します。設定がとにかく続行される場合 (デフォルト)、暗号化のネゴシエーションが続行されます。それ以外の場合、接続は失敗して終了します。
Packet Sender のマルチキャスト サポートは、IPv4 マルチキャスト アドレスへの送信を試みるか、マルチキャスト サブメニューから送信しようとするとトリガーされます。この機能は現在実験段階であり、次の既知の問題があります。
IPv6 マルチキャストのサポートはありませんが、ロードマップには含まれています。 IPv6 マルチキャストのサポートを必要とするスポンサーは、私に連絡してください。
通常の送信システムでは不十分な場合は、ターゲット IP にパケットを送信して、デバイスがそれを処理できるかどうかを確認できます。これは、GUI ツールバーの[ツール] -> [Intense Traffic Generator]にあります。
この機能は実験的なものであり、表示される指標は完全にはテストされていないことに注意してください。より正確なテストを行うには、このツールの CLI バージョンを確認することをお勧めします。
無料の Packet Sender Cloud サービスを使用して、パケット セットをすばやく保存、取得、共有できます。クラウドは、コラボレーション、チュートリアル、エンド ユーザーなどのために、(URL 経由で) パケットを公開表示および配布するために使用することもできます。パケット送信者は、公開 URL を使用して公開パケット セットをインポートする場合があります。
これを行うにはさまざまな理由があります。
ネットワーク API を公開している場合、パブリック クラウド ページを維持することは、パケットの詳細 (IP、ポート、タイプなど) をユーザーに苦痛を与えて説明するよりもはるかに簡単です。さらに、そのページの更新も簡単です。
詳細については、https://cloud.packetsender.com/help をご覧ください。
Packet Sender には「ポータブル」モードがあります。起動時に、 portablemode.txt
を検索し、そのランタイム ディレクトリに不足している設定ファイルを追加します。これらのファイルは、 packets.ini
、 ps_settings.ini
、 ps.key
、およびps.pem
です。また、portablemode.txt を削除することで、一部のファイルをポータブルにし、他のファイルを標準の場所に置くこともできます。
GUI が必要ない場合は、これらの DDL を削除できます。
名前に+
文字が含まれる DLL は、 "
で囲まないと Windows コマンド ライン コピーで問題が発生する可能性があることに注意してください。
SSL が必要ない場合は、これらの DDL を削除できます。
Windows ユーザーの場合、ランタイム ディレクトリは .exe と同じ場所にあります。
MAC ユーザーの場合、このランタイム ディレクトリはPacketSender.app/Contents/MacOS
にあります。 INI ファイルが見つかった場合は、 %APPDATA%
またはLibrary/Application Support
代わりにそれらのファイルが使用されます。
Packet Sender は最大 5 つのスマート レスポンスをサポートします。
この機能を有効にするには、GUI ツールバーで[ファイル] -> [設定]に移動します。 「スマート レスポンス」タブに移動し、 「スマート レスポンスを送信する」チェックボックスをオンにします。
Packet Sender は、応答を送信するときに次のマクロをサポートします。
Packet Sender は、別の GUI ウィンドウを介して永続的な TCP および SSL 接続をサポートします。これは、メイン ウィンドウのチェックボックスまたは [設定] ウィンドウで有効にできます。
永続的な接続は、コマンド ライン経由ではサポートされていません。
Packet Sender は、HTTP および HTTPS を介した POST/GET リクエストの送信をサポートします。プロトコル ドロップダウンには、HTTP GET、HTTP POST、HTTPS GET、HTTPS POST のオプションが含まれています。 HTTP(S) を選択すると、入力フィールドが次のように更新されます: 名前、リクエスト、アドレス、データ (POST が選択されている場合)、データの生成ボタン (POST が選択されている場合)、ファイルのロード (POST が選択されている場合)。
[リクエスト] フィールドに完全な URL を貼り付けることもできます。これにより、パケット送信者が解析して他のフィールドに自動入力します。
Packet Sender はコントロール パネルの生成をサポートしています。パネルは、スクリプト (パケット) が割り当てられたボタンで構成されます。ボタンをクリックすると、そのボタンで参照されているパケットが実行されます。
パネルは、次の 2 つの方法のいずれかで作成できます。
Packet Sender は、コマンド ライン オプション--starterpanel
を使用したスターター パネルでのパネルのみモードでの起動をサポートします。
パネル上のボタンのスクリプト作成を開始するには、パネルを開いて編集画面に移動する必要があります。パネルプロジェクトを開いたら、右下隅にあるボタンをチェックしてください。このボタンに「閲覧中」と表示されている場合は、閲覧画面が表示されています。ボタンをクリックすると、パネルが編集画面に移動します。
編集画面になると、ボタンとスクリプトをパネルに追加できます。
ボタン スクリプトには、送信されるパケットの名前が含まれます。
それぞれの名前を新しい行に追加することで、複数のパケットをボタンに設定できます。
パネル ジェネレーターは、パケット間に「遅延:秒数」を追加することで、複数のパケット間の遅延の追加をサポートします。
パネル ジェネレーターは、「panel:パネル ID # 」を追加することで、新しいパネルをロードするスクリプトの追加をサポートします。ボタン上の以前のスクリプトがすべて実行されると、パネルは次のパネルに移行します。
パネル ジェネレーターは、ローカルに保存されたファイルまたは URL にリンクするボタンの追加をサポートします。ファイル/URL ボタンは、編集画面で右下隅の+ をクリックして追加できます。
ファイルまたは URL がコピーされると、ボタンの名前を入力するように求められます。パネルの下部にボタンが表示されます。
編集画面でこれらのボタンをクリックすると、ファイル/URL リンクとボタンの名前を編集できます。ポップアップの[X] をクリックしてボタンを削除することもできます。
表示画面でこれらのボタンをクリックすると、デフォルトのブラウザで URL が起動するか、ファイル (ファイル タイプに応じたデフォルトのプログラムで) ファイルが開きます。
パネルの編集画面では、ファイル、エクスポート、設定、ヘルプのメニューを備えたツールバーが表示されます。このツールバーから、パネル プロジェクトの保存、エクスポート、インポート、ロード、および現在のパネル プロジェクトの編集を行うことができます。
[設定] から、次のことができます。
現時点では、DTLS は Windows の GUI でのみサポートされています。他のオペレーティング システムでは、Qt6 を使用してソースからコンパイルすることで DTLS を有効にすることができます。
このリポジトリには、DTLS (Datagram Transport Layer Security) プロトコル機能が含まれています。この機能により、サーバー検証やセッション永続化オプションなど、DTLS 接続を構成および管理するためのグラフィカル インターフェイスが追加されました。
Wireshark によるスニッフィング:
Packet Sender は、コンピュータのコマンド ラインから使用できます。
Windows の場合、コマンド ライン インターフェイスを使用するには、拡張子 .com ( packetsender.com
) を使用します。オプションで、拡張子なしでpacketsender
使用することもできます。拡張子 .exe を使用すると、GUI が起動します。
Linux の場合、Packet Sender のコマンド ライン システムは、他の Linux ユーティリティと同じパターンに従います。これには、長い名前 (--version など) と短い名前 (-v など) があります。これらのオプションは任意の順序で配置でき、Packet Sender はそれらを正しく解析します。最後の 3 つのオプションは位置に応じて指定されるため、最後に指定する必要があります。それらは、IP、ポート、データです。保存されたパケットを使用する場合、これらの最後のオプションはオプションです。
packetsender --help
Usage: C:Program FilesPacketSenderpacketsender.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 は、Windows、Linux、MAC 間で同じ形式に従います。
形式は次のとおりです: packetsender [options] address port data
packetsender -taw 500 mirrors.xmission.com 21 "USER anonymousrnPASS [email protected]"
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...
既存のバインド オプションを使用してサーバーを構成します。
TCPを使用した動的ポートへのバインド
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 へのバインド
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 へのバインド
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
SSL を使用した IP 192.168.86.26、ポート 54321 へのバインド
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
Packet Sender コマンド ラインは、-B オプションを使用してカスタム ポートにバインドし、IPv4/6 モードまたは複数の NIC を強制できます。
packetsender -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hellor"
packetsender -taw 3000 192.168.0.201 5005 "Hellor"
packetsender -B 192.168.0.200 -taw 3000 192.168.0.201 5005 "Hellor"
packetsender -B fe80::a437:399a:3091:266a%ethernet_32769 -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hellor"
packetsender -B fe80::a437:399a:3091:266a -taw 3000 fe80::c07b:d517:e339:5a08 5005 "Hellor"
コマンドラインには、SSL エラーを無視または放棄するオプションがあります。デフォルトでは無視されます。
packetsender -saw 500 expired.packetsender.com 443 "GET / HTTP/1.0rnrn"
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 rnServer: nginx/1.10.0 (Ubuntu)r
これは組み込みのデフォルト パケットを使用することに注意してください。
packetsender --name "HTTPS POST Params"
packetsender --http GET "https://httpbin.org/get"
packetsender --http POST "https://httpbin.org/post" "{}"
コマンド集中トラフィック ジェネレーターは GUI バージョンとほぼ同じように機能しますが、より正確で、より多くの制御オプションを備えています (そしてより強力です!)。
使用方法の例については、以下を参照してください。これらの計算は「ベストエフォート」であることに注意してください。それは問題ありませんが、プロセッサーのスパイクやさまざまなネットワークの問題により、正常に動作しなくなる可能性があります。スレッド処理はリアルタイムではなく、それを補う試みが非常にスマートではありません。
注: Windows の場合は、「.com」ビルドを使用するため、各例は packetsender.com になります。
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"
唯一の依存関係は Qt SDK です
Windows および Mac バージョンは Qt 5.12 を使用して構築されました。 Packet Sender は Qt 6 をサポートしていますが、cmake はサポートしていません。
Ubuntu 16.04 のコマンドのシーケンスは次のとおりです。 Linux プラットフォームに適応してください。 Packet Sender には、ストック Qt SDK 以外の追加ライブラリは必要ありません。標準の Fedora にはビルドの問題があると聞いています。 Fedora ウィザードに洞察力がある場合は、私に知らせてください。指示を追加します。
冒険してみたい場合は、master ブランチから自由にビルドしてください。最新の安定したビルドが含まれています。開発ブランチはおそらく避けるべきです。
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
実行するには次を使用します。
./PacketSender
実行できない場合は、実行可能に設定する必要がある場合があります
chmod a+x PacketSender
機能がありませんか?私を雇ってパケット送信者に追加してもらえますか。
ライセンスは GPL v2 以降です。別のライセンスが必要な場合はご連絡ください。 Packet Sender の一部のディストリビューションでは OpenSSL を使用する場合があります。最新の VPAT はこのリポジトリにあります。
Packet Sender は Dan Nagle によって書かれ、© NagleCode, LLC - @NagleCode - PacketSender.com によって公開されています。