-
Notifications
You must be signed in to change notification settings - Fork 2
/
portfu
105 lines (82 loc) · 1.85 KB
/
portfu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/bin/bash
#Author: z3r0day a.k.a SxNade
BGreen='\033[1;32m'
BRed='\033[1;31m'
NC='\033[0m'
BBlue='\033[1;34m'
echo -e "\n[${BGreen}+${NC}] ${BRed}PortFU${NC}${BBlue} v(1.0) [Author: ${BRed}z3r0day${NC}${BBlue}]${NC} ${BGreen} initializing..${NC}\n"
if [ $# -lt 1 ]
then
echo -e "\n${BRed}Insufficent Arguments${NC}...."
echo -e " ./portfu <host> <optional-time-delay-in-seconds>\n"
exit
fi
echo
if [ $# -ge 2 ]
then
sleeptime=${2}
echo -e "[${BGreen}+${NC}] ${BRed}user-specified-sleep-time${NC} ${BGreen}${sleeptime}${NC}\n"
else
sleeptime=3
fi
function port_check {
timeout 2 bash -c "echo >/dev/tcp/${1}/${2}" 2> /dev/null
if [ ${?} -eq 0 ]
then
echo "${2}" >> ${1}_ports
echo -e "[${BGreen}+${NC}] ${BRed}${2}${NC} is ${BGreen}open${NC}"
fi
}
function range_scan {
for port in $(seq ${2} ${3})
do
port_check ${1} ${port} &
done
wait
}
#Stage 1
range_scan ${1} 0 5000
sleep ${sleeptime}
#Stage 2
range_scan ${1} 5001 10000
sleep ${sleeptime}
#Stage 3
range_scan ${1} 10001 15000
sleep ${sleeptime}
#Stage 4
range_scan ${1} 15001 20000
sleep ${sleeptime}
#Stage 5
range_scan ${1} 20001 25000
sleep ${sleeptime}
#Stage 6
range_scan ${1} 25001 30000
sleep ${sleeptime}
#Stage 7
range_scan ${1} 25001 30000
sleep ${sleeptime}
#Stage 8
range_scan ${1} 30001 35000
sleep ${sleeptime}
#Stage 5
range_scan ${1} 35001 40000
echo -e "[${BGreen}+${NC}] ${BRed}50%${NC} ${BBlue}finished${NC}"
sleep ${sleeptime}
#Stage 6
range_scan ${1} 40001 45000
sleep ${sleeptime}
#Stage 7
range_scan ${1} 45001 50000
sleep ${sleeptime}
#Stage 8
range_scan ${1} 50001 55000
sleep ${sleeptime}
#Stage 9
range_scan ${1} 55001 60000
sleep ${sleeptime}
#Stage 10
range_scan ${1} 60001 65535
sleep ${sleeptime}
#End
echo -e "\n[${BBlue}+${NC}] All ports have Been ${BBlue}scanned.${NC}\n"
echo -e "[${BBlue}+${NC}] Results have been written to${BBlue} ${1}_ports ${NC}\n"