notes/Basic Network Scanner-pQDLjj4B.sh
<#
Basic Network Scanner
Example useage:
PowerShell -ExecutionPolicy Bypass .\scanner.ps1 <Base IP> <Port>
PowerShell -ExecutionPolicy Bypass .\scanner.ps1 192.168.20 80
#>
$ErrorActionPreference= 'silentlycontinue' #ignore errors
#check for user input
if($args[0]){
$baseIP = $args[0]
}else{
$baseIP = "192.168.1"
}
if($args[1]){
$port = $args[1]
}else{
$port = 80
}
$rangeIP = 1..254
foreach ($range in $rangeIP){
$ip = "{0}.{1}" -F $baseIP,$range
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