Lisez ceci dans d'autres langues : English, Español, Deutsch, Français.
Packet Sender est un utilitaire open source permettant d'envoyer et de recevoir des paquets TCP, UDP et SSL (TCP crypté), ainsi que des requêtes HTTP/HTTPS et la génération de panneaux. La branche principale prend officiellement en charge Windows, Mac et Desktop Linux (avec Qt). D'autres endroits peuvent recompiler et redistribuer Packet Sender. Packet Sender est gratuit et sous licence GPL v2 ou ultérieure. Il peut être utilisé à la fois pour un usage commercial et personnel. Si vous trouvez l'application utile, pensez à faire un don/parrainage afin que le développement puisse continuer.
Commanditaires
Interface graphique
Générateur de trafic intense (GUI)
Réseau
Téléchargements
Soutien
Calculateur de sous-réseau IPv4
Wake-On-LAN / Paquet Magique
Nuage d’expéditeur de paquets
Mode portable
Macros et réponses intelligentes
TCP et SSL persistants
Requêtes HTTP/HTTPS
Générateur de panneaux
Interface de ligne de commande
Générateur de trafic intense (CLI)
Création d'un expéditeur de paquets
Packet Sender souhaite remercier les sponsors suivants.
IWL est une société californienne qui crée des produits de réseaux informatiques.
NagleCode est un éditeur de logiciels et studio de développement.
Eletiope installe des éclairages, des audiovisuels et des salles immersives pour les expositions et les musées, ainsi que pour les showrooms d'entreprise.
Souhaitez-vous que votre nom/logo soit répertorié ici ?
REMARQUE : essayez (temporairement) de désactiver votre pare-feu si vous rencontrez des problèmes sous Windows.
Les versions officielles de Packet Sender peuvent être téléchargées sur PacketSender.com. Certains endroits redistribuent Packet Sender.
Packet Sender est identique pour toutes les versions de bureau. La seule différence est son thème qui correspond au système d'exploitation.
Les champs en haut peuvent être parcourus en utilisant CTRL+1, CTRL+2, etc., jusqu'à CTRL+8 (bouton envoyer). Sur Mac, la touche de raccourci est Commande.
Les raccourcis clavier et les champs sont :
Quelques remarques :
Par défaut, Packet Sender se lance avec les serveurs UDP, TCP et SSL activés sur des ports aléatoires (affichés sous forme de boutons en bas à droite). Vous pouvez vous connecter à n'importe quel nombre de ports (si le système d'exploitation le permet), en utilisant des numéros de port séparés par des virgules. Par exemple, 0, 1000, 2000
seront liés aux ports "aléatoire" et 1000, 2000.
Le bouton UDP affiche désormais 3 ports liés. 1 d’entre eux est aléatoire.
L'autre paramètre consiste à répondre à toutes les demandes par une réponse. Vous pouvez également faire en sorte que cette requête soit une macro. Il y a un champ pour taper la réponse (ou charger un paquet enregistré).
Par défaut, Packet Sender se lie à n’importe quelle adresse IPv4. Dans cette zone des paramètres, vous pouvez le lier à n'importe quel IPv6 ou à une adresse IP spécifique.
La liaison à une adresse spécifique est très utile lorsqu'il existe plusieurs cartes réseau et que vous souhaitez forcer la communication (comme les paquets de diffusion) vers une adresse spécifique.
Certains protocoles s'attendent à ce que le serveur envoie des données avant que le client ne les envoie (comme de nombreux services Telnet). Ce workflow peut être activé avec « Recevoir avant envoi ».
Si vous disposez d'un appareil lent (comme un serveur intégré avec un processeur faible), vous souhaiterez peut-être activer "Délai de 500 ms après la connexion". Cela permettra au serveur lent de lancer son gestionnaire.
Les serveurs intégrés de Packet Sender sont configurés pour prendre en charge IPv4 ou IPv6, mais pas les deux en même temps. Pour les clients, l'interface graphique et la CLI de Packet Sender basculeront de manière transparente entre les deux modes lors de l'envoi (un ID de portée peut être nécessaire pour IPv6). Cliquez sur le bouton IPv4/IPv6 en bas à droite pour basculer entre les deux.
Dans les paramètres, vous pouvez également forcer les serveurs de Packet Sender à se lier à une adresse IP personnalisée. Cela peut être très utile pour les systèmes dotés de plusieurs cartes réseau ou de configurations IP compliquées. Packet Sender déclenchera une erreur s’il lui est demandé de se lier à une adresse qui n’existe pas.
Packet Sender dispose d'un calculateur de sous-réseau intégré. C'est sous le menu Outils.
Wake-On-LAN (ou WOL) est un protocole qui indique aux ordinateurs de sortir du mode veille. Il est déclenché par un paquet de diffusion contenant des données spéciales basées sur l'adresse MAC de la cible. Pour plus d’informations, jetez un œil à Wikipédia.
Packet Sender dispose d'un générateur WOL intégré. C'est sous le menu Outils.
Remplissez les options et l'interface graphique principale sera remplie avec les données correctes pour le format WOL.
Il existe également des options CLI pour aider à générer et envoyer des paquets 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 prend en charge l'établissement de connexions cryptées via SSL. Ceci est pris en charge dans l'interface graphique et sur la ligne de commande.
Packet Sender regroupe OpenSSL pour une utilisation sous Windows. Sous Mac et Linux, Packet Sender utilisera les bibliothèques SSL natives.
Remarques SSL :
Packet Sender regroupe un certificat interne « Snake Oil » à utiliser comme serveur pour Windows. Le certificat et la clé se trouvent au même endroit que le paquet et les paramètres.
Remarque : Le remplacement des emplacements de certificat dans Paramètres remplace également le certificat Snake-Oil.
S'il y a une erreur SSL, Packet Sender l'affichera dans le journal du trafic. Si le paramètre doit quand même continuer (par défaut), il continuera à négocier le cryptage. Sinon, la connexion se termine par un échec de connexion.
La prise en charge de la multidiffusion de Packet Sender est déclenchée par une tentative d'envoi vers une adresse de multidiffusion IPv4 ou à partir du sous-menu de multidiffusion. La fonctionnalité est actuellement expérimentale et présente ces problèmes connus.
Il n'y a pas de support de multidiffusion IPv6, même si cela figure sur la feuille de route. Les sponsors souhaitant la prise en charge de la multidiffusion IPv6 sont invités à me contacter.
Lorsque le système d'envoi normal ne suffit pas, vous pouvez marteler une adresse IP cible avec des paquets pour voir si votre appareil peut le gérer. Cela peut être trouvé dans la barre d'outils de l'interface graphique sous Outils -> Générateur de trafic intense.
Veuillez noter que cette fonctionnalité est expérimentale et que les métriques affichées n'ont pas été entièrement testées. Pour un test plus précis, vous souhaiterez peut-être consulter la version CLI de cet outil.
Les ensembles de paquets peuvent être rapidement enregistrés/récupérés/partagés à l’aide du service gratuit Packet Sender Cloud. Le cloud peut également être utilisé pour afficher et distribuer publiquement vos paquets (via une URL) à des fins de collaboration, de didacticiels, d'utilisateurs finaux, etc. Packet Sender peut importer des ensembles de paquets publics avec une URL publique.
Il y a plusieurs raisons à cela :
Si vous publiez une API réseau, gérer une page de cloud public est beaucoup plus simple que de détailler péniblement (IP, port, type, etc.) les paquets destinés à vos utilisateurs. De plus, la mise à jour de cette page est facile.
Plus d'informations à ce sujet peuvent être trouvées sur https://cloud.packetsender.com/help
Packet Sender dispose d'un mode "portable". Au lancement, il recherchera portablemode.txt
et remplira tous les fichiers de paramètres manquants dans ce répertoire d'exécution. Ces fichiers sont packets.ini
, ps_settings.ini
, ps.key
et ps.pem
. Vous pouvez également avoir certains fichiers portables et d'autres à leur emplacement standard en supprimant portablemode.txt.
Si vous n'avez pas besoin de l'interface graphique, vous pouvez supprimer ces DDL
Notez que les DLL avec des caractères +
dans leur nom peuvent entraîner des problèmes avec la copie de la ligne de commande Windows si vous ne les entourez pas de "
.
Si vous n'avez pas besoin de SSL, vous pouvez supprimer ces DDL
Le répertoire d'exécution des utilisateurs Windows se trouve au même endroit que le fichier .exe.
Pour les utilisateurs MAC, ce répertoire d'exécution se trouve sur PacketSender.app/Contents/MacOS
. Si des fichiers INI sont trouvés, il les utilisera à la place de %APPDATA%
ou Library/Application Support
.
Packet Sender prend en charge jusqu'à 5 réponses intelligentes.
Pour activer cette fonctionnalité, accédez à Fichier -> Paramètres dans la barre d'outils de l'interface graphique. Accédez à l’onglet Smart Responses et cochez la case Envoyer une réponse intelligente .
Packet Sender prend en charge ces macros lors de l'envoi de réponses :
Packet Sender prend en charge les connexions TCP et SSL persistantes via une fenêtre GUI distincte. Il est activé par une case à cocher sur la fenêtre principale ou via la fenêtre Paramètres.
Les connexions persistantes ne sont pas prises en charge via la ligne de commande.
Packet Sender prend en charge l'envoi de requêtes POST/GET via HTTP et HTTPS. La liste déroulante des protocoles comprend les options suivantes : HTTP GET, HTTP POST, HTTPS GET, HTTPS POST. Lors de la sélection de HTTP(S), les champs de saisie seront mis à jour comme suit : Nom, Demande, Adresse, Données (lorsque POST est sélectionné), bouton Générer des données (lorsque POST est sélectionné), Charger un fichier (lorsque POST est sélectionné).
Vous pouvez également coller une URL complète dans le champ Demande et Packet Sender analysera et remplira automatiquement les autres champs.
Packet Sender prend en charge la génération de panneaux de contrôle. Les panneaux sont constitués de boutons auxquels sont attribués des scripts (paquets). Cliquer sur le bouton exécutera le(s) paquet(s) référencé(s) sur ce bouton.
Les panneaux peuvent être créés de deux manières :
Packet Sender prend en charge le lancement en mode panneau uniquement avec le panneau de démarrage à l'aide de l'option de ligne de commande --starterpanel
Pour commencer à créer des scripts pour les boutons de votre panneau, vous devrez ouvrir un panneau et accéder à l'écran d'édition. Une fois qu'un projet de panneau est ouvert, cochez le bouton dans le coin inférieur droit. Si ce bouton indique « Visualisation », vous êtes sur l'écran de visualisation. Cliquez sur le bouton pour déplacer le panneau vers l'écran d'édition.
Une fois sur l'écran d'édition, des boutons et des scripts peuvent être ajoutés au panneau.
Les scripts de boutons contiendront le nom du paquet à envoyer.
Plusieurs paquets peuvent être définis sur un bouton en ajoutant chaque nom sur une nouvelle ligne.
Panel Generator prend en charge l'ajout d'un délai entre plusieurs paquets en ajoutant « délai : nombre de secondes » entre les paquets.
Panel Generator prend en charge l'ajout d'un script pour charger un nouveau panneau en ajoutant "panel: panel id # ". Une fois que tous les scripts précédents sur le bouton sont exécutés, le panneau passera au panneau suivant.
Panel Generator prend en charge l'ajout de boutons qui renvoient vers des fichiers ou des URL stockés localement. Des boutons Fichier/URL peuvent être ajoutés dans l’écran d’édition en cliquant sur le + dans le coin inférieur droit.
Une fois le fichier ou l'URL copié, vous serez invité à saisir un nom pour le bouton. Les boutons apparaîtront en bas du panneau.
Dans l'écran d'édition, cliquer sur ces boutons vous permettra de modifier le lien fichier/URL et le nom du bouton. Vous pouvez également supprimer le bouton en cliquant sur le X dans la fenêtre contextuelle.
Lorsque vous êtes sur l'écran de visualisation, cliquer sur ces boutons lancera l'URL dans le navigateur par défaut ou ouvrira le fichier (avec le programme par défaut pour le type de fichier).
Dans l'écran d'édition d'un panneau, il y aura une barre d'outils avec les menus Fichier, Exporter, Paramètres, Aide. Vous pouvez enregistrer, exporter, importer, charger des projets de panneau et modifier le projet de panneau actuel à partir de cette barre d'outils.
Dans Paramètres, vous pouvez effectuer les opérations suivantes :
Pour l'instant, DTLS n'est pris en charge que dans l'interface graphique de Windows. D'autres systèmes d'exploitation peuvent activer DTLS en compilant à partir des sources à l'aide de Qt6.
Ce référentiel contient une fonctionnalité du protocole DTLS (Datagram Transport Layer Security). Cette fonctionnalité a ajouté une interface graphique pour configurer et gérer les connexions DTLS, y compris les options de vérification du serveur et de persistance de session.
Reniflage par Wireshark :
Packet Sender peut être utilisé à partir de la ligne de commande sur votre ordinateur.
Pour Windows, utilisez l'extension .com ( packetsender.com
) pour utiliser l'interface de ligne de commande. En option, vous pouvez également utiliser packetsender
sans extension. L'utilisation de l'extension .exe lancera l'interface graphique.
Pour Linux, le système de ligne de commande de Packet Sender suit le même modèle que les autres utilitaires Linux. Il a un nom long (tel que --version) et un nom court (tel que -v). Ces options peuvent être organisées dans n’importe quel ordre et Packet Sender les analysera correctement. Les 3 dernières options sont positionnelles et doivent apparaître en dernier. Il s'agit de l'IP, du port et des données. Ces dernières options sont facultatives si vous utilisez un paquet stocké.
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.
La CLI suit le même format entre Windows, Linux et MAC.
Le format est : 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...
Utilisez les options de liaison existantes pour configurer le serveur.
Liaison au port dynamique à l'aide de 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
Liaison au port 8080 via UDP
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
Liaison au port 8080 à l'aide d'UDP avec la réponse temporelle actuelle
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
Liaison à IP 192.168.86.26, port 54321 via SSL
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
La ligne de commande Packet Sender peut se lier à des ports personnalisés pour forcer les modes IPv4/6 ou plusieurs cartes réseau à l'aide de l'option -B.
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"
La ligne de commande a la possibilité d'ignorer ou d'abandonner les erreurs SSL. La valeur par défaut est d'ignorer.
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
Notez que cela utilise les paquets par défaut intégrés.
packetsender --name "HTTPS POST Params"
packetsender --http GET "https://httpbin.org/get"
packetsender --http POST "https://httpbin.org/post" "{}"
Le générateur de trafic intense de commande fonctionne à peu près de la même manière que la version GUI mais il est un peu plus précis, avec plus d'options de contrôle (et plus d'intensité !).
Voir ci-dessous pour des exemples d'utilisation. Notez que ces calculs sont du « meilleur effort ». Cela fonctionne bien, mais les pics de processeur ou divers problèmes de réseau peuvent le perturber. Le threading n'est pas en temps réel et n'est pas très intelligent dans ses tentatives de compensation.
Remarque : Pour Windows, utilisez la version ".com", chaque exemple serait donc 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"
La seule dépendance est le SDK Qt
Les versions Windows et Mac ont été construites avec Qt 5.12. Packet Sender prend en charge Qt 6, mais il ne prend pas en charge cmake.
Voici la séquence de commandes pour Ubuntu 16.04. Veuillez vous adapter à votre plateforme Linux. Packet Sender ne nécessite aucune bibliothèque supplémentaire au-delà du SDK Qt d'origine. On m'a dit qu'il y avait des problèmes de construction avec Fedora d'origine. Si un assistant Fedora a une idée, faites-le-moi savoir et j'ajouterai vos instructions.
Si vous vous sentez aventureux, n'hésitez pas à construire à partir de la branche master. Il contient la dernière version stable. La branche développement devrait probablement être évitée.
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
Pour exécuter, utilisez :
./PacketSender
S'il ne fonctionne pas, vous devrez peut-être le définir comme exécutable
chmod a+x PacketSender
Il manque une fonctionnalité ? Vous pouvez m'engager pour l'ajouter à Packet Sender.
La licence est GPL v2 ou version ultérieure. Contactez-moi si vous avez besoin d'une licence différente. Certaines distributions de Packet Sender peuvent utiliser OpenSSL. Le VPAT le plus récent peut être trouvé dans ce dépôt.
Packet Sender a été écrit par Dan Nagle et est publié par © NagleCode, LLC - @NagleCode - PacketSender.com