2015-08-06 23 views
7

Ho bisogno di generare un livello molto alto di attività wifi per uno studio per vedere se la vicinanza molto vicina a un ricetrasmettitore può avere un impatto negativo sullo sviluppo delle colonie di api.Generazione di attività wifi massima tramite 1 computer

Ho provato a scrivere un'applicazione che genera diverse coppie server-client di socket Web per trasferire continuamente file di medie dimensioni (questo approccio ha colpito> 100 MB). Tuttavia, vogliamo eseguirlo su un singolo computer collegato a un router wifi, quindi i pacchetti finiscono invariabilmente per essere instradati tramite l'interfaccia di loopback, non la WLAN.

In alternativa, ho provato a utilizzare un semplice ping flood e il curling del router, ma questo non produce quasi la larghezza di banda massima del router.

Esiste una soluzione rapida su linux per forzare il traffico sulla rete? Il computer che stiamo usando ha sia un'interfaccia ethernet che wireless, e ho trovato un thread online che suggeriva di configurare iptables per forzare il traffico tra le due interfacce ed evitare il loopback.

risposta

1

L'invio dei pacchetti il ​​più rapidamente possibile a una destinazione casuale (che non è localhost) dovrebbe funzionare.

Avrete bisogno di usare udp (altrimenti è necessario riconoscere una connessione prima di poter inviare dati).

cat /dev/urandom | pv | nc -u 1.1.1.1 9123

pv è opzionale (ma bella).

È inoltre possibile utilizzare /dev/zero, ma potrebbe esserci il rischio di compressione a livello di collegamento.

Ovviamente, assicurarsi che il router non sia effettivamente connesso a Internet (non si vuole inondare un server da qualche parte!) E che il computer ha il router come percorso predefinito.

+0

grazie per il suggerimento, non ho mai visto pv prima. darò un colpo e riferire. – Evan

+0

questo satura la trasmissione dal computer, c'è un modo per massimizzare anche il ricevitore? Ne risultano velocità di trasmissione molto elevate, ma è possibile aumentare anche il livello RX? – Evan

+0

@Evan non senza che qualcuno ti invii pacchetti. Potresti voler configurare un webserver e scaricare un file infinito con 'wget' – goncalopp