閱讀其他語言版本:英語、西班牙語、德語、法語。
Packet Sender 是一個開源實用程序,允許發送和接收 TCP、UDP 和 SSL(加密 TCP)資料包以及 HTTP/HTTPS 請求和麵板生成。主線分支正式支援Windows、Mac和桌面Linux(附Qt)。其他地方可能會重新編譯並重新分發Packet Sender。 Packet Sender 是免費的並獲得 GPL v2 或更高版本的許可。它可用於商業和個人用途。如果您發現該應用程式有用,請考慮捐贈/贊助,以便繼續開發。
贊助商
圖形使用者介面
密集流量產生器 (GUI)
網路
下載
支援
IPv4 子網路計算器
區域網路喚醒 / Magic Packet
資料包發送雲
便攜模式
巨集和智慧響應
持久 TCP 和 SSL
HTTP/HTTPS 請求
面板產生器
命令列介面
密集流量產生器 (CLI)
建立資料包發送器
Packet Sender 衷心感謝以下贊助商。
IWL 是一家生產電腦網路產品的加州公司。
NagleCode 是一家軟體發行商和開發工作室。
Eletiope 為展覽、博物館以及企業展廳安裝照明、視聽和沈浸式房間。
您想在這裡列出您的名字/標誌嗎?
注意:如果 Windows 出現問題,請嘗試(暫時)停用防火牆。
Packet Sender 的正式版本可以在 PacketSender.com 下載。有些地方重新分發Packet Sender。
所有桌面版本的資料包發送器都是相同的。唯一的區別是它的主題與作業系統相符。
可以使用 CTRL+1、CTRL+2 等,最多 CTRL+8(發送按鈕)來導航頂部的欄位。在 Mac 上,快捷鍵是 Command。
熱鍵和字段是:
一些注意事項:
預設情況下,Packet Sender 啟動時會在隨機連接埠上啟用 UDP、TCP 和 SSL 伺服器(顯示為右下角的按鈕)。您可以使用逗號分隔的連接埠號碼綁定到任意數量的連接埠(如果作業系統允許)。例如, 0, 1000, 2000
將綁定到「隨機」和連接埠 1000、2000。
UDP 按鈕現在顯示 3 個綁定連接埠。其中 1 個是隨機的。
另一個設定是透過回覆來回應所有請求。您也可以將此請求設為巨集。有一個欄位用於輸入回應(或載入已儲存的資料包)。
預設情況下,封包發送方綁定到任何 IPv4 位址。在此設定區域中,您可以將其綁定到任何 IPv6,或綁定到特定的 IP 位址。
當有多個 NIC 並且您想要強制從特定的 NIC 進行通訊(如廣播封包)時,綁定到特定位址非常有用。
某些協定期望伺服器在客戶端發送資料之前發送資料(例如許多 telnet 服務)。可以透過「發送前接收」啟用此工作流程。
如果您的裝置速度較慢(例如處理器較弱的嵌入式伺服器),您可能想要啟用「連線後延遲 500 毫秒」。這將允許緩慢的伺服器有時間啟動其處理程序。
Packet Sender 的內建伺服器配置為支援 IPv4 或 IPv6,但不能同時支援兩者。對於用戶端,封包傳送器 GUI 和 CLI 將在傳送時在兩種模式之間無縫切換(IPv6 可能需要範圍 ID)。點選右下角的 IPv4/IPv6 切換按鈕可在兩者之間切換。
在設定中,您也可以強制封包傳送器的伺服器綁定到自訂 IP 位址。這對於具有多個 NIC 或複雜 IP 設定的系統非常有用。如果告訴封包發送方綁定到不存在的位址,則會觸發錯誤。
Packet Sender 有一個內建的子網路計算器。它位於“工具”選單下。
LAN 喚醒(或稱 WOL)是一種告訴電腦從睡眠狀態喚醒的協定。它由具有基於目標 MAC 位址的特殊資料的廣播資料包觸發。欲了解更多信息,請查看維基百科。
資料包發送器有一個內建的 WOL 產生器。它位於“工具”選單下。
填寫選項,主 GUI 將填入 WOL 格式的正確資料。
還有 CLI 選項可協助產生和發送 WOL 資料包
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 捆綁 OpenSSL 以在 Windows 中使用。在 Mac 和 Linux 上,Packet Sender 將使用本機 SSL 函式庫。
SSL 注意事項:
Packet Sender 捆綁了一個內部「萬金油」證書,用作 Windows 伺服器。憑證和金鑰與資料包和設定位於同一位置。
注意:覆蓋「設定」中的證書位置也會覆蓋萬金油證書。
如果存在 SSL 錯誤,Packet Sender 會將其輸出到流量日誌中。如果設定無論如何都要繼續(預設),它將繼續協商加密。否則,連線會以連線失敗而結束。
封包傳送器的多播支援是透過嘗試傳送到 IPv4 多播位址或從多播子選單觸發的。該功能目前處於實驗階段,存在這些已知問題。
儘管已在路線圖上,但不支援 IPv6 多播。歡迎需要 IPv6 多播支援的贊助商與我聯絡。
當正常的發送系統不夠時,你可以用資料包錘擊目標IP,看看你的裝置是否可以處理它。這可以在 GUI 工具列中的工具 -> 密集流量產生器中找到
請注意,此功能是實驗性的,顯示的指標尚未經過充分測試。為了進行更準確的測試,您可能需要查看此工具的 CLI 版本。
使用免費的資料包發送者雲端服務可以快速保存/檢索/共享資料包集。雲端還可以用於公開顯示和分發您的資料包(透過 URL)以進行協作、教程、最終用戶等。資料包發送者可以匯入具有公用 URL 的公用資料包集。
這樣做有多種原因:
如果您要發佈網路 API,維護公有雲頁面比痛苦地向使用者詳細說明封包(IP、連接埠、類型等)要容易得多。另外,更新該頁面很容易。
有關它的更多信息,請訪問 https://cloud.packetsender.com/help
資料包發送器具有“便攜式”模式。啟動時,它將查找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 支援產生控制面板。面板由分配有腳本(資料包)的按鈕組成。點擊該按鈕將執行該按鈕上引用的資料包。
可以透過以下兩種方式之一建立面板:
Packet Sender 支援使用命令列選項--starterpanel
在僅面板模式下啟動啟動面板
要開始為面板上的按鈕編寫腳本,您需要打開面板並轉到編輯畫面。打開面板項目後,檢查右下角的按鈕。如果此按鈕顯示“正在檢視”,則您位於“正在檢視”畫面。點選按鈕將面板移至編輯畫面。
進入編輯畫面後,可以將按鈕和腳本新增至面板。
按鈕腳本將包含要傳送的資料包的名稱。
透過在新行中新增每個名稱,可以將多個資料包設定為一個按鈕。
面板產生器支援透過在資料包之間添加「延遲:秒數」來在多個資料包之間添加延遲。
面板產生器支援新增腳本來透過新增「panel: panel id # 」來載入新面板。執行按鈕上的所有先前腳本後,面板將轉換到下一個面板。
面板產生器支援新增連結到本機儲存的檔案或 URL 的按鈕。在編輯畫面中,可以透過點擊右下角的+來新增檔案/URL 按鈕。
複製文件或 URL 後,系統將提示您輸入按鈕的名稱。按鈕將填滿在面板底部。
在編輯畫面上,按一下這些按鈕將允許您編輯檔案/URL 連結和按鈕名稱。您也可以透過點擊彈出視窗上的X來刪除該按鈕。
在「檢視」畫面上時,按一下這些按鈕將在預設瀏覽器中啟動 URL 或開啟檔案(使用該檔案類型的預設程式)。
在面板的編輯畫面中,將有一個工具欄,其中包含文件、匯出、設定、幫助選單。您可以從此工具列儲存、匯出、匯入、載入面板項目以及編輯目前面板項目。
從「設定」中,您可以執行以下操作:
目前,DTLS 僅在 Windows 的 GUI 中支援。其他作業系統可以透過使用 Qt6 從原始碼編譯來啟用 DTLS。
此儲存庫包含 DTLS(資料封包傳輸層安全性)協定功能。此功能添加了圖形介面來配置和管理 DTLS 連接,包括伺服器驗證和會話持久性選項。
透過 Wireshark 嗅探:
可以從電腦上的命令列使用資料包發送器。
對於 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.
Windows、Linux 和 MAC 之間的 CLI 遵循相同的格式。
格式為: 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”版本,因此每個範例均為 packetender.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平台。除了現有的 Qt SDK 之外,Packet Sender 不需要其他函式庫。我被告知庫存 Fedora 有建置問題。如果 Fedora 嚮導有見解,請告訴我,我將添加您的說明。
如果您喜歡冒險,請隨意從主分支進行構建。它包含最新的穩定版本。也許應該避免開發分支。
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
缺少一個功能嗎?您可以僱用我將其添加到 Packet Sender。
授權是 GPL v2 或更高版本。如果您需要不同的許可證,請與我聯絡。 Packet Sender 的某些發行版可能會使用 OpenSSL。可以在此存儲庫中找到最新的 VPAT。
Packet Sender 由 Dan Nagle 撰寫,並由 © NagleCode, LLC - @NagleCode - PacketSender.com 發布