notes/Basic Port Scanner-agRfqvCJ.sh
<#
Basic Port Scanner
Example useage:
PowerShell -ExecutionPolicy Bypass .\scanner.ps1 <IP> <Start Port> <End Port>
PowerShell -ExecutionPolicy Bypass .\scanner.ps1 192.168.1.1 20 30
#>
$ErrorActionPreference= 'silentlycontinue' #ignore errors
#check for user input
if($args[0]){
$ip = $args[0]
}else{
write-host "IP Address needed!!!"
exit
}
if($args[2]){
$ports = $args[1]..$args[2]
}else{
write-host "port range needed!!!"
exit
}
foreach ($port in $ports){
write-host "Scanning $ip port $port..." -NoNewline
if(Test-Connection -BufferSize 32 -Count 1 -Quiet -ComputerName $ip){
$socket = new-object System.Net.Sockets.TcpClient($ip, $port)
If($socket.Connected){
$socket.Close()
write-host "`r$ip port $port is open." -foregroundcolor "red" #if port open output
}
}
write-host "`r" -NoNewline #clear line is port not open
}
syntax highlighted by Code2HTML, v. 0.9.1