Probabilmente non stai inviando 4Mbps di dati con quello script, perché quello script prova una connessione TCP sulla porta 80. Ovviamente fallirà perché non hai un server web in esecuzione, quindi sarà difficile per il tuo server per raggiungere quei 4 Mbps di traffico verso la tua connessione domestica.
Tale script invierà pacchetti SYN e attenderà un SYN ACK prima del timeout, introducendo ritardi sull'alluvione. Anche essere un attacco multi-thread non farà molto come hai già visto.
Gli attacchi DDoS comuni usano UDP per inondare il bersaglio. UDP non attende i riconoscimenti, solo incendi e dimentica quindi facilita l'inondazione di qualcuno che non sta eseguendo alcun servizio pubblicamente raggiungibile.
Inoltre, per il completamento (dato che è già stato indicato su una risposta diversa) non si è DDoSing nessuno se l'attacco viene avviato da un host. La prima D in DDoS significa "Distribuito".
Finalmente hai quasi ragione sulla tua ipotesi iniziale. Tecnicamente, avresti solo bisogno della stessa quantità di larghezza di banda del tuo obiettivo per rendere la loro vita miserabile.