{{tag>[network linux bash security]}} =====Pure bash TCP portscan and bannergrabber==== ====Sequential portscan==== #!/bin/bash IP=1.2.3.4 for port in {1..1023} do echo -n "${IP} port ${port} - " timeout 1s bash -c "/dev/null && echo open || echo closed done ====Parallel portscan==== Test 10 ports in parallel. #!/bin/bash PAR=10 IP=127.0.0.1 ( for port in {1..1000} do ((i=i%PAR)); ((i++==0)) && wait timeout 1s bash -c "/dev/null && echo ${port} open || echo ${port} closed & done ) ====Bannergrab==== #!/bin/bash IP=1.2.3.4 for i in {1..1000} do echo -n "${IP} port ${i} - " timeout 1s bash -c "head -1 /dev/null || echo closed done