
Utilità di rete per inviare / ricevere TCP, UDP, SSL, HTTP
# Introduzione

### [https://packetsender.com](https://packetsender.com/)
*Leggi questo in altre lingue: [English](https://github.com/dannagle/packetsender/blob/master/README.md), [Español](https://github.com/dannagle/packetsender/blob/master/README.es.md), [Deutsch](https://github.com/dannagle/packetsender/blob/master/README.de.md), [Français](https://github.com/dannagle/packetsender/blob/master/README.fr.md), [Italiano](https://github.com/dannagle/packetsender/blob/master/README.it.md), [简体中文](https://github.com/dannagle/packetsender/blob/master/README.zh.md).*
[](https://packetsender.com/download)
Packet Sender è un'utilità open source che permette di inviare e ricevere pacchetti TCP, UDP e SSL (TCP crittografato), nonché richieste HTTP/HTTPS e la generazione di pannelli. Il ramo principale supporta ufficialmente Windows, Mac e Linux desktop (con Qt). Altri distributori possono ricompilare e ridistribuire Packet Sender. Packet Sender è gratuito e rilasciato sotto licenza GPL v2 o successiva. Può essere utilizzato sia per scopi commerciali che personali. Se trovi utile l'applicazione, considera di donare o sponsorizzare per far continuare lo sviluppo.
# Indice dei contenuti
* [Sponsor](#sponsors)
* Visita [IWL.com](https://www.iwl.com/)
* Visita [NagleCode.com](https://dannagle.com/)
* Visita [Eletiope.com](http://eletiope.com/)
* Visita [John Huntington](https://www.controlgeek.net/)
* [GUI](#gui)
* [Generatore di traffico intenso (GUI)](#udptraffic)
* [Rete](#network)
* [Download](#downloads)
* [App Mobile per iOS](#ios)
* [Supporto](#support)
* [Calcolatore di subnet IPv4](#subnetcalculator)
* [Wake-On-LAN / Magic Packet](#wakeonlan)
* [Packet Sender Cloud](#cloud)
* [Modalità portatile](#portable)
* [Macro e risposte intelligenti](#smartresponses)
* [TCP e SSL persistenti](#persistent)
* [Richieste HTTP/HTTPS](#http)
* [Generatore di pannelli](#panelgen)
* [Interfaccia a riga di comando](#cli)
* [Generatore di traffico intenso (CLI)](#cliintensetraffic)
* [Compilazione di Packet Sender](#building)
<a id="sponsors"></a>
## Sponsor
Packet Sender desidera ringraziare i seguenti sponsor.
[](https://www.iwl.com/)
<br>IWL è un'azienda californiana che produce dispositivi per il networking informatico.
<br><br><br>
[](https://dannagle.com)
<br>NagleCode è un editore di software e uno studio di sviluppo.
<br><br><br>
[](http://eletiope.com)
<br>Eletiope installa impianti di illuminazione, audiovisivi e stanze immersive per mostre e musei, nonché per showroom aziendali.
<br><br><br>
[John Huntington](https://www.controlgeek.net/)
<br>Autore, consulente, educatore, ingegnere del suono, fotografo pluripremiato e storm chaser.
<br><br><br>
[Vuoi che il tuo nome/logo sia elencato qui?](https://github.com/sponsors/dannagle)
<a id="support"></a>
## Supporto
* Twitter/X: [@NagleCode](https://x.com/NagleCode)
* I forum si trovano su: [Discussioni GitHub](https://github.com/dannagle/PacketSender/discussions).
* Email: [Contatto Packet Sender](https://packetsender.com/contact)
* Collegati con me su [LinkedIn](https://www.linkedin.com/in/dannagle/)
*NOTA:* Prova (temporaneamente) a disattivare il firewall se hai problemi su Windows.
<a id="downloads"></a>
# Download
## Download per desktop
Le versioni ufficiali di Packet Sender possono essere scaricate su [PacketSender.com](https://packetsender.com/download). Alcuni siti ridistribuiscono Packet Sender.
  
<a id="ios"></a>
## App Mobile per iOS
Packet Sender per iOS è completamente nativo, richiede il minimo indispensabile di permessi e non raccoglie alcun dato. Questo è software che ti rispetta. Grazie per aver supportato questo progetto.
La versione iOS si trova sull'[Apple App Store](https://apps.apple.com/app/id1558236648#?platform=iphone)
[](https://apps.apple.com/app/id1558236648#?platform=iphone)
<a id="gui"></a>
# GUI
Packet Sender è identico su tutte le versioni desktop. L'unica differenza è il tema che si adatta al sistema operativo.

1. Un pacchetto ha un nome, un indirizzo di destinazione (i nomi di dominio vengono risolti automaticamente appena prima dell'invio), porta e dati associati.
2. Nella tabella c'è l'elenco dei pacchetti salvati. Puoi fare doppio clic per modificare direttamente i campi in questa tabella.
3. In basso a destra ci sono lo stato e le porte dei server UDP, TCP e SSL. Cliccandoci sopra si attivano o disattivano i protocolli. Packet Sender supporta l'associazione a un numero qualsiasi di porte.
4. C'è anche un pulsante per alternare l'IP. Cliccandolo passa da IPv4 (predefinito) a IPv6 o IP personalizzato.
### Note generali
* Un valore di "0" per il re-invio significa che è un pacchetto a colpo singolo.
* Durante il re-invio di pacchetti apparirà un pulsante per annullare tutti i re-invii.
* Controlla il tuo firewall. Windows blocca aggressivamente i server basati su TCP. Packet Sender funzionerà comunque se il firewall lo blocca, ma non potrà ricevere pacchetti TCP non sollecitati.
* È possibile inviare una risposta opzionale. La stessa risposta viene usata per TCP, UDP e SSL.
* Per l'invio IPv6 è necessario anche l'ID di ambito (scope ID).
* Packet Sender supporta la notazione mista ASCII e HEX:
* Fai doppio clic su uno dei due campi per aprire l'editor multilinea
* \XX viene tradotto in XX in esadecimale
* \n, \r, \t vengono tradotti in 0A, 0D e 09
* I numeri HEX sono separati da spazi
* Il campo HEX tenterà di interpretare altri delimitatori comuni (virgole, due punti come in Wireshark, punti e virgola, " 0x", ecc.) e di correggerli automaticamente. È molto tollerante agli errori.
* È supportato anche un flusso continuo di HEX. Se il numero di byte è dispari, Packet Sender aggiungerà uno zero all'inizio e correggerà automaticamente.
* Esempio ASCII: hello world\r
* Esempio HEX: 68 65 6c 6c 6f 20 77 6f 72 6c 64 0d
* Puoi salvare un pacchetto direttamente dal registro del traffico. Ti verrà chiesto un nome e l'indirizzo sorgente e la porta verranno invertiti per tua comodità.
* Puoi anche caricare un file direttamente nel campo HEX. Il campo HEX supporta l'invio fino a 10.922 byte. Il limite teorico per l'invio da riga di comando è 200 MB.
## Scorciatoie da tastiera / Hotkey
I campi in alto possono essere navigati con CTRL+1, CTRL+2, ecc. fino a CTRL+8 (pulsante Invia). Su Mac il tasto è Command.
Le hotkey e i campi sono:
* CTRL + 1 = Nome
* CTRL + 2 = ASCII
* CTRL + 3 = HEX
* CTRL + 4 = Indirizzo
* CTRL + 5 = Porta
* CTRL + 6 = Ritardo re-invio
* CTRL + 7 = Selezione protocollo
* CTRL + 8 = Invia (esegue)
Alcune note:
* I campi sono collegati alla rispettiva hotkey indipendentemente dalla selezione del protocollo.
* Quando navighi sull'opzione TCP/UDP/SSL puoi usare i tasti su/giù o i caratteri t/u/s/h per selezionare.
* Se vuoi automatizzare con hotkey (usando strumenti come [AutoHotKey](https://www.autohotkey.com/)), potresti voler disattivare "Ripristina sessione precedente".
<a id="network"></a>
# Funzionalità di rete
## Impostazioni di base
All'avvio Packet Sender attiva di default i server UDP, TCP e SSL su porte casuali (mostrate come pulsanti in basso a destra). Puoi associare un numero qualsiasi di porte (se il sistema operativo lo permette), usando numeri separati da virgola. Ad esempio `0, 1000, 2000` assocerà una porta casuale e le porte 1000 e 2000.

Il pulsante UDP ora mostra 3 porte associate. Una di esse è casuale.

L'altra impostazione è rispondere a tutte le richieste con una replica. Puoi anche far sì che la risposta sia una macro. C'è un campo per digitare la replica (o caricare un pacchetto salvato).
## Impostazioni aggiuntive UDP/TCP/SSL
Di default Packet Sender si associa a qualsiasi indirizzo IPv4. In questa sezione delle impostazioni puoi associare a qualsiasi IPv6 oppure a un indirizzo IP specifico.
Associare a un indirizzo specifico è molto utile quando ci sono più schede di rete e vuoi forzare il traffico (ad esempio pacchetti broadcast) su una specifica interfaccia.

Alcuni protocolli si aspettano che il server invii dati prima che il client invii (come molti servizi telnet). Questo flusso di lavoro può essere abilitato con "Ricevi prima di inviare".
Se hai un dispositivo lento (ad esempio un server embedded con un processore debole), puoi abilitare "500 ms di ritardo dopo la connessione". Questo darà al server lento il tempo di avviare il gestore.
## IPv4, IPv6, IP personalizzato
I server integrati di Packet Sender sono configurati per supportare IPv4 o IPv6 ma non entrambi contemporaneamente. Per i client, la GUI e la CLI di Packet Sender passeranno senza problemi tra le due modalità all'invio (può essere necessario lo scope ID per IPv6). Clicca sul pulsante IPv4 / IPv6 in basso a destra per alternare tra le due.
Nelle impostazioni puoi anche forzare i server di Packet Sender ad associarsi a un indirizzo IP personalizzato. Questo è molto utile su sistemi con più schede di rete o configurazioni IP complesse. Packet Sender genererà un errore se gli viene chiesto di associarsi a un indirizzo inesistente.

<a id="subnetcalculator"></a>
## Calcolatore di subnet IPv4
Packet Sender include un calcolatore di subnet integrato. Si trova nel menu Strumenti.

* La finestra di log (sezione inferiore) mostrerà gli indirizzi IPv4 e IPv6 non loopback trovati sul tuo computer.
* Sul lato sinistro inserisci l'indirizzo IPv4 nel campo IP.
* Sul lato sinistro inserisci la subnet in notazione X.X.X. o /XX
* I risultati del calcolo sono sul lato destro.
* Il campo sottostante è un controllo rapido per verificare se un IPv4 è all'interno di una delle tue subnet.
<a id="wakeonlan"></a>
## Wake-On-LAN / Magic Packet
Wake-On-LAN (o WOL) è un protocollo che dice ai computer di svegliarsi dal sonno. Viene attivato da un pacchetto broadcast con dati speciali basati sull'indirizzo MAC del destinatario. Per maggiori informazioni, [consulta Wikipedia](https://en.wikipedia.org/wiki/Wake-on-LAN).
Packet Sender include un generatore WOL integrato. Si trova nel menu Strumenti.

Compila le opzioni e la GUI principale verrà riempita con i dati corretti per il formato WOL.

Ci sono anche opzioni CLI per generare e inviare pacchetti WOL
```text
packetsender --wol f8:23:66:30:e5:30
Invio broadcast Wake-On-LAN al target: F8:23:66:30:E5:30 sulla porta 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 f8 23 66 30 e5 30
```
<a id="wakeonlan"></a>
## Wake-On-LAN / Pacchetto Magico
Wake-On-LAN (o WOL) è un protocollo che permette di risvegliare i computer dalla modalità sospensione.
Viene attivato inviando un pacchetto broadcast contenente dati speciali basati sull'indirizzo MAC del computer target.
Per maggiori informazioni, [consulta la pagina Wikipedia](https://en.wikipedia.org/wiki/Wake-on-LAN).
Packet Sender include un generatore WOL integrato. Si trova nel menu **Strumenti**.

Compila le opzioni richieste e l'interfaccia principale verrà automaticamente popolata con i dati corretti nel formato WOL.

Sono disponibili anche opzioni da riga di comando (CLI) per generare e inviare pacchetti WOL.
```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
```
## Client e Server SSL
Packet Sender supporta l'instaurazione di connessioni crittografate tramite SSL.
Questa funzionalità è disponibile sia nell'interfaccia grafica (GUI) che da riga di comando.
Packet Sender include OpenSSL per l'utilizzo su Windows. Su Mac e Linux, Packet Sender utilizzerà le librerie SSL native del sistema.

Note su SSL:
* La negoziazione del certificato avviene immediatamente durante la connessione.
* Per impostazione predefinita, Packet Sender ignora tutti gli errori SSL (certificato scaduto, nome host errato, certificato autofirmato, ecc.).
* Packet Sender riporta i progressi della negoziazione del certificato nel log del traffico.
* Packet Sender indica nel log del traffico l'algoritmo di crittografia utilizzato (ad esempio AES 128).
Packet Sender include un certificato interno "Snake Oil" da utilizzare come server su Windows. Il certificato e la chiave si trovano nella stessa posizione dei file di pacchetti e delle impostazioni.
_Nota: Modificando i percorsi dei certificati nelle Impostazioni, viene sovrascritto anche il certificato snake-oil._
In caso di errore SSL, Packet Sender lo riporta nel log del traffico. Se l'impostazione è di proseguire comunque (predefinita), la negoziazione della crittografia continua. In caso contrario, la connessione termina con un fallimento.

## Multicast (Sperimentale)
Il supporto multicast di Packet Sender si attiva tentando di inviare a un indirizzo multicast IPv4 o dal sottomenu multicast. La funzionalità è attualmente sperimentale e presenta i seguenti problemi noti.
* Packet Sender abbandona il supporto IPv6 quando si unisce a un gruppo multicast.
* Tale abbandono persiste finché non si riaprono le impostazioni o non si tenta di inviare a un indirizzo IPv6.
* Su reti Wi-Fi, a volte occorrono fino a 20 secondi affinché l'unione al gruppo multicast diventi effettiva.
* Packet Sender non dispone di logica per riunirsi automaticamente a un gruppo multicast in caso di riavvio dello switch o altri errori comuni.
Non esiste supporto per multicast IPv6, sebbene sia nella roadmap di sviluppo. Gli sponsor interessati al supporto multicast IPv6 sono invitati a contattarmi.
<a id="udptraffic"></a>
## Generatore di Traffico UDP (Sperimentale)
Quando il normale sistema di invio non è sufficiente, è possibile inviare un flusso intenso di pacchetti a un IP target per verificare se il dispositivo riesce a gestirlo.
Questa funzione si trova nella barra degli strumenti della GUI: _Strumenti → Generatore di Traffico Intenso_
Si prega di notare che questa funzionalità è sperimentale e le metriche visualizzate non sono state completamente testate. Per un test più accurato, si consiglia di utilizzare la versione CLI di questo strumento.

# Funzionalità di Packet Sender
<a id="cloud"></a>
## Packet Sender Cloud
I set di pacchetti possono essere salvati, recuperati e condivisi rapidamente utilizzando il servizio gratuito [Packet Sender Cloud](https://cloud.packetsender.com/).
Il cloud può essere utilizzato anche per visualizzare pubblicamente e distribuire i propri pacchetti (tramite un URL) per collaborazioni, tutorial, utenti finali, ecc. Packet Sender può importare set di pacchetti pubblici tramite URL pubblici.
Esistono diversi motivi per farlo:
* Mantenere tutti i tuoi pacchetti pronti per recuperarli rapidamente quando installi una nuova copia di Packet Sender
* Passare velocemente tra set di pacchetti quando lavori su progetti diversi
* Condividere un account di login (è permesso) per la generazione collaborativa di set di pacchetti
* Avere una pagina pubblica dei tuoi set di pacchetti in modo che altri possano trovarli e importarli rapidamente

Se stai pubblicando un'API di rete, mantenere una pagina cloud pubblica è **molto più semplice** rispetto a descrivere in modo laborioso (IP, porta, tipo, ecc.) i pacchetti agli utenti. Inoltre, aggiornare quella pagina è facile.
Maggiori informazioni sono disponibili qui:
https://cloud.packetsender.com/help
<a id="portable"></a>
## Modalità Portatile
Packet Sender dispone di una modalità "portatile". All'avvio, cerca il file `portablemode.txt` e popola eventuali file di impostazioni mancanti nella directory di esecuzione.
Questi file sono: `packets.ini`, `ps_settings.ini`, `ps.key` e `ps.pem`.
È anche possibile mantenere alcuni file in modalità portatile e altri nella posizione standard rimuovendo `portablemode.txt`.
### DLL che possono essere rimosse in modalità solo-console (portatile)
Se non hai bisogno dell'interfaccia grafica, puoi rimuovere queste DLL:
- Qt6Svg.dll
- Qt6Widgets.dll
- Qt6Gui.dll
- opengl32sw.dll
- D3Dcompiler_47.dll
- directory iconengines
- directory imageformats
- directory styles
Nota: le DLL con il carattere `+` nel nome possono creare problemi con il copia-incolla da riga di comando di Windows se non vengono racchiuse tra virgolette `"`.
### DLL che possono essere rimosse se non servono connessioni sicure
Se non utilizzi SSL, puoi rimuovere queste DLL:
- libcrypto-1_1-x64.dll
- libssl-1_1-x64.dll
La directory di esecuzione su Windows è la stessa in cui si trova il file `.exe`.
Per gli utenti Mac, la directory di esecuzione si trova in:
`PacketSender.app/Contents/MacOS`
Se vengono trovati file INI in quella posizione, verranno utilizzati al posto di `%APPDATA%` o `Library/Application Support`.
<a id="smartresponses"></a>
## Smart Responses (Risposte Intelligenti)
Packet Sender supporta fino a 5 risposte intelligenti.
Per abilitare questa funzione, vai su _File → Impostazioni_ nella barra degli strumenti della GUI.
Passa alla scheda _Smart Responses_ e attiva la casella **Send a Smart Response**.

* Packet Sender confronta il pacchetto ricevuto utilizzando l'encoding da te scelto
* Packet Sender traduce l'encoding prima di inviare la risposta
* Gli encoding disponibili sono:
* Mixed ASCII — Il metodo standard di Packet Sender per codificare ASCII insieme a caratteri non stampabili
* HEX — La normale codifica esadecimale di Packet Sender
## Macro
Packet Sender supporta le seguenti macro durante l'invio delle risposte:
* `{{DATE}}` — Invia la data corrente nel formato "yyyy-mm-dd"
* `{{TIME}}` — Invia l'ora corrente nel formato "hh:mm:ss ap"
* `{{UNIXTIME}}` — Invia il timestamp epoch corrente
* `{{COUNTER}}` — Invia un contatore incrementale per ogni pacchetto che lo utilizza. Parte da 1 all'avvio.
* `{{RANDOM}}` — Invia un numero casuale compreso tra 0 e 32767 (32-bit) o 2147483647 (64-bit) a seconda della build (l'installer predefinito Windows è 32-bit, Mac è 64-bit)
* `{{UNIQUE}}` — Invia una stringa casuale generata tramite UUID interno
Packet Sender sostituisce le macro con i valori reali prima dell'invio.
<a id="persistent"></a>
## Connessioni TCP e SSL Persistenti
Packet Sender supporta connessioni TCP e SSL persistenti tramite una finestra GUI separata.
Si attiva tramite una casella di spunta nella finestra principale o dalle Impostazioni.

### Note sulle connessioni TCP e SSL persistenti:
* È possibile creare un numero qualsiasi di connessioni persistenti
* I pacchetti salvati in precedenza possono essere caricati dal menu a tendina
* Sono disponibili le viste "Raw" e "ASCII". La vista ASCII è utile per risolvere problemi con dati non stampabili nella vista raw
* Il traffico viene comunque salvato nel log principale
* È possibile caricare un file nella connessione persistente (potrebbe essere utile disattivare il logging in questo caso)
* Il timer in basso a sinistra parte non appena viene inviato/ricevuto un pacchetto valido. Si ferma quando la connessione viene chiusa
* È possibile aggiungere automaticamente un carriage return (\r) premendo Invio (utile per menu a riga di comando su TCP/SSL). Packet Sender ricorda lo stato precedente della casella \r
* Le connessioni in ingresso al server avviano automaticamente la finestra GUI separata
* Durante il reinvio, il pacchetto della connessione persistente viene trasferito nella nuova finestra. Cliccando su "Resending(1)" si annulla il reinvio
Le connessioni persistenti **non** sono supportate da riga di comando.
<a id="http"></a>
# HTTP/HTTPS POST & GET
Packet Sender supporta l'invio di richieste POST/GET tramite HTTP e HTTPS.
Il menu a tendina del protocollo include: HTTP GET, HTTP POST, HTTPS GET, HTTPS POST.
Quando si seleziona HTTP(S), i campi si aggiornano in: Nome, Request, Address, Data (se POST), pulsante Generate Data (se POST), Load File (se POST).
## Invio di richieste HTTP/HTTPS GET/POST

* Seleziona HTTP(S) GET o POST dal menu a tendina del protocollo
* Nel campo *Address* inserisci dominio o IP
* Nel campo *Request* aggiungi il percorso URL (se necessario)
* Nel campo *Port* il valore predefinito è 80 per HTTP e 443 per HTTPS
* Spunta *Persistent TCP* per visualizzare i dati del server in modo più chiaro (gli header HTTP vengono rimossi automaticamente)
**Puoi anche incollare un URL completo nel campo Request: Packet Sender lo analizzerà e compilerà automaticamente gli altri campi.**
### Per le richieste POST:
* Puoi inserire manualmente i dati nel campo *Data*
Formato: `chiave=valore`
Per più parametri: `chiave=valore&chiave=valore&chiave=valore`
* Oppure clicca sul pulsante *Generate Data*
<img src="https://assets.kitploit.com/production/public/readmes/4523/10d31cc53bcf0ba4d4a60d38c83a08231617142f8eec6b3cdb68f83964c3da06.png" width="400" height="284">
* Inserisci Chiave e Valore, poi clicca **+**
* Puoi aggiungere più parametri con il pulsante +
* Rimuovi un parametro con il pulsante X
* Una volta terminato, clicca OK: i dati verranno generati nel campo Data
### Per aggiungere credenziali di autenticazione:
<img src="https://assets.kitploit.com/production/public/readmes/4523/0592ee55242fa40c5eeb6dd0bd87956167c1461a7b224259a81ac065c055b9a0.png" width="800" height="339">
* Vai su File → Impostazioni → HTTP
* Spunta *Generate Auth Header*
* Inserisci *Host*, *UN/Client ID* e *PW/Access*
* Clicca su *HTTP Auth Header* per generare l'header di autenticazione
<a id="panelgen"></a>
# Generatore di Pannelli
Packet Sender supporta la creazione di pannelli di controllo.
I pannelli sono composti da pulsanti a cui sono associati script (pacchetti). Cliccando un pulsante si eseguono i pacchetti collegati.
<img src="https://assets.kitploit.com/production/public/readmes/4523/933ef79915bb7e6ced4a6fff3b2bb9b98ef19619b5096476cb8d5496c487e3dd.png" width="400" height="358">
## Caricamento di un pannello
I pannelli possono essere creati in due modi:
* Cliccando su **Pannelli** nella barra degli strumenti e scegliendo *Load Starter Panel* o *Empty Panel Project*
(*Load Starter Panel* carica il pannello impostato come starter; se non ce n'è uno, apre un progetto vuoto)
* Selezionando 2 o più pacchetti salvati e cliccando sul pulsante **Generate Panel** (appare solo con più pacchetti selezionati)
È possibile avviare Packet Sender in modalità solo-pannello con il pannello starter usando l'opzione da riga di comando `--starterpanel`

## Programmazione di un pannello
Per iniziare a programmare i pulsanti, apri un pannello e passa alla modalità Editing.
Una volta aperto il progetto, controlla il pulsante in basso a destra: se dice "Viewing" sei in modalità visualizzazione. Cliccalo per passare a "Editing".
### Programmazione dei pulsanti
Lo script di un pulsante contiene il nome del pacchetto da inviare.
<img src="https://assets.kitploit.com/production/public/readmes/4523/a34e6ec6f371b15c13f41bf577df02c57b2fb3e695d88f572d90b96377d0c92e.png" width="400" height="360">
È possibile associare più pacchetti a un pulsante inserendo un nome per riga.
<img src="https://assets.kitploit.com/production/public/readmes/4523/8bdccde0bc587dbd0d2a64f5126f1de47cdbd5a7ea0fb518122fb17bd876163a.png" width="400" height="358">
Il generatore supporta l'inserimento di un ritardo tra pacchetti multipli con:
`delay:_numero_di_secondi_`
<img src="https://assets.kitploit.com/production/public/readmes/4523/c9399a2ba90d0a747c851d15d8a7674eac530c5cb6f65b4182bb532872dbfbbb.png" width="400" height="359">
Supporta anche il caricamento di un nuovo pannello con:
`panel:_numero_id_pannello_`
<img src="https://assets.kitploit.com/production/public/readmes/4523/0b8c538ddacba7c2e1ebe089491b555d63875f425aa25bd3ebd693467c0c5aa2.png" width="400" height="358">
### Aggiunta di file / URL
È possibile creare pulsanti che aprono file locali o URL.
In modalità Editing, clicca sul **+** in basso a destra.
* Per file: copia il file (tasto destro → Copia) e incollalo nel campo _URL o File_
* Per URL: incolla l'indirizzo (deve iniziare con http:// o https://)

Dopo aver incollato, ti verrà chiesto di dare un nome al pulsante.
I pulsanti appaiono in fondo al pannello.
In modalità Editing puoi modificarli o eliminarli (tasto **X**).
In modalità Viewing cliccandoli si aprirà l'URL nel browser predefinito o il file con l'applicazione associata.

### Modifica e salvataggio del pannello
In modalità Editing appare una barra con menu: File, Export, Settings, Help.
Da qui puoi salvare, esportare, importare, caricare progetti e modificare il pannello corrente.
Dal menu Settings puoi:
* Set Panel Name — rinominare il progetto
* Set Panel ID — cambiare l'ID (sovrascrive un pannello con lo stesso ID)
* Starter Panel — impostare questo come pannello di avvio
* Delete Panel — eliminare un pannello esistente
(Nota: i pulsanti e gli script restano visibili fino alla chiusura del pannello)
# DTLS
Al momento DTLS è supportato solo nell'interfaccia grafica su Windows.
Su altri sistemi operativi è possibile abilitarlo compilando da sorgente con Qt6.
## Panoramica
Questa funzionalità aggiunge il protocollo DTLS (Datagram Transport Layer Security) con interfaccia grafica per configurare e gestire connessioni DTLS, inclusa verifica del server e persistenza della sessione.
## Funzionalità principali
### Finestra principale

- **Cipher Suites**: menu a tendina per selezionare la suite di cifratura desiderata
- **Server Common Name**: campo per inserire il common name del server (verifica lato client)
- **Persistent Session**: opzione per salvare la chiave di sessione dopo il primo handshake
- **Optional Server Verification**: attiva la verifica bidirezionale durante l'handshake
- **DTLS Server Port**: pulsante per definire la porta del server DTLS
#### Immagini aggiuntive:



### Finestra Impostazioni
#### Scheda Network

- **Send Simple Acknowledge**: invia un semplice acknowledgement
- **Enable DTLS Server**: attiva il server DTLS e seleziona la porta
- **Certificates and Keys**: caricamento certificati e chiavi (simile a SSL)
#### Scheda Smart Responses

- Le Smart Responses funzionano anche su protocollo DTLS
## Integrazione Wireshark
### Connessione normale

### Connessione persistente

<a id="cli"></a>
# Riga di comando
Packet Sender può essere utilizzato da riga di comando.
Su Windows usa l'estensione `.com` (`packetsender.com`) per la modalità CLI.
Puoi anche usare semplicemente `packetsender` senza estensione.
Usare `.exe` avvia invece la GUI.

---
[Read more](https://github.com/dannagle/packetsender)