উত্তর:
বিকল্প 1:
আপনার DHCP সার্ভারে দেখুন। যদি এটি সমস্ত DHCP ইজারা প্রদর্শন করে, আপনি সেখানে এটি দেখতে পারেন।
বিকল্প 2:
অথবা যদি আপনি আপনার রাস্পবেরি PI এর MAC ঠিকানাটি জানেন তবে আপনার ARP টেবিলে এটি সন্ধান করার চেষ্টা করুন। যে জন্য একটি cmd প্রম্পট খুলুন এবং টাইপ করুন arp -a
। এটি তখন আপনাকে সমস্ত পরিচিত আইপি-ম্যাক জোড়াগুলির একটি তালিকা দেখায়। যদি সেখানে নেই, আপনার ব্রডকাস্ট ঠিকানাটি পিং করার চেষ্টা করুন এবং arp -a
আবার লিখুন । সম্প্রচার আইপি আপনার সাবনেট সর্বদা সর্বশেষ আইপি হয়। উদাহরণস্বরূপ, সাবনেটের সম্প্রচার আইপি 192.168.0.0
হয় 192.168.0.255
।
বিকল্প 3:
আপনি যদি আপনার নির্দিষ্ট রাস্তাটি কেবলমাত্র আপনার রাস্পবেরি Pi তে খোলা থাকে তবে একটি খোলা পোর্টের জন্য আপনি আপনার নেটওয়ার্কের সমস্ত ডিভাইস স্ক্যান করতে পারেন। বলুন, আপনার রাস্পবেরি পাইটি 80 পোর্টে খোলা আছে, আপনি পোর্ট 80 এর জন্য আপনার সাবনেটে সমস্ত আইপি ঠিকানা স্ক্যান করতে পারেন। আপনার নেটওয়ার্কের মধ্যে খুব বেশি ওয়েব সার্ভার নেই (সম্ভবত কয়েকটি মুদ্রক এবং রাউটার যা আপনি আইপি জানেন অবশ্যই ঠিকানা), আপনি আপনার রাস্পবেরী পাই খুব দ্রুত খুঁজে পাবেন।
দুঃখজনকভাবে, আমি nmap ব্যবহার করতে জানি না কারণ আমি পোর্ট স্ক্যান করতে একটি পাওয়ারশেল স্ক্রিপ্ট ব্যবহার করি। যদি আপনি এটি চেষ্টা করতে চান তবে আমি এখানে পেস্ট করতে পারি। আপনি আমার স্ক্রিপ্ট চেষ্টা করতে চান তাহলে শুধু আমাকে মন্তব্য করতে দিন।
সম্পাদনা: এখানে আমার স্ক্রিপ্ট। নিচে ব্যবহার।
function Test-Port {
param(
[parameter(Position=0)][string[]]$Computer=(Read-Host "Target: "),
[parameter(Position=1)][string[]]$Port=(Read-Host "Ziel-Port: "),
[int]$Timeout=1000
)
$ErrorActionPreference = "SilentlyContinue"
$ResultObjects = @()
foreach ($Target in $Computer) {
foreach ($p in $Port) {
$ResultObjects += P_Test-Port
} # end port foreach
} #end target foreach
return $ResultObjects
} #end function
function P_Test-Port {
$tcpclient = new-object system.net.sockets.tcpclient
$con = $tcpclient.BeginConnect($Target,$p,$null,$null)
$wait = $con.AsyncWaitHandle.WaitOne($timeout,$false)
[bool]$Open = $false
# check the connection
if(!$wait)
{
# close connection and report timeout
$tcpclient.Close()
[string]$result = ("Connection Timeout (" + $Timeout + " ms)")
$failed = $true
} else {
$error.Clear()
$tcpclient.EndConnect($con) | out-null
if(!$?){[string]$result = ("Closed / Filtered");$failed = $true}
$tcpclient.Close()
}
if(!$failed){
[string]$result = ("Open")
$failed = $false
$Open = $true
}
$objTestPortResult = new-object System.Object
$objTestPortResult | Add-Member -type NoteProperty -name Host -value $Target
$objTestPortResult | Add-Member -type NoteProperty -name Port -value $p
$objTestPortResult | Add-Member -type NoteProperty -name Result -value $result
$objTestPortResult | Add-Member -type NoteProperty -name Open -value $Open
return $objTestPortResult
}
এই স্ক্রিপ্ট অনুলিপি করুন এবং আপনার ক্ষমতাশালী মধ্যে এটি পেস্ট করুন। আপনি নিম্নরূপ এটি ব্যবহার করতে পারেন:
Test-Port <IP-Address[]> <Port[]>
উদাহরণ: Test-Port 192.168.0.1,AnyComputerName 80,443
এই কম্পিউটারের স্ক্যান করবে 192.168.0.1
এবং AnyComputerName
খোলা পোর্ট জন্য 80
এবং 443
। আপনি কেবল Computername এবং পোর্টের জন্য একটি আর্গুমেন্ট পাস করতে পারেন বা একাধিক কমা বিভাজিত মান পাস করতে পারেন।
পোর্ট 80 এর জন্য আপনার সমগ্র সাবনেটটি স্ক্যান করতে আপনি নিম্নরূপ এটি করবেন (আপনি সনেটটি 192.168.0.0/24 ব্যবহার করছেন বলে মনে করছেন):
$ips = 1..254 | Foreach-Object { "192.168.0.$_" } ; Test-Port $ips 80
আমাকে যদি আরও তথ্যের প্রয়োজন হয় বা কেবল আমাকে যে পোর্টটি স্ক্যান করতে চান তা আমাকে জানান, তখন আমি আপনার জন্য আপনার আদেশ তৈরি করব।
| ? { $_.open -eq $true }
আপনি যোগ করে শুধু পোর্ট খোলা যেখানে ফলাফল প্রদর্শন করতে পারেন।