همان طور که همگی می دونن می توان با فرمان ipconfig /all ایپی مربوط کامپیوتر رو بدست بیاوریم اما اون در اصل ایپی شبکه داخلی خودمان است .
اگر بخواهیم ایپی خارجی که از طریق آن در اینترنت رفت و آمد می کنیم را بدست آوریم نمی توانیم از این فرمان استفاده کنیم .
جهت بدست آوردن ip خارجی از طریق cmd و یا powershell ویندوز می توانید فرمان زیر را تایپ کنید
nslookup myip.opendns.com resolver1.opendns.com |
و نتیجه
C:\Users\Micr0s0ft>nslookup myip.opendns.com resolver1.opendns.com Server: resolver1.opendns.com Address: 208.67.222.222 Non-authoritative answer: Name: myip.opendns.com Address: 5.234.179.95 |
حالا با استفاده از powershell اینکار ساده تر می شود .
در powershell می توانید از طریق فرمان Invoke-WebRequest ifconfig.me/ip ایپی خود را ببینید
بعد از وارد کردن این فرمان نتیجه زیر بدست می آید .
StatusCode : 200 StatusDescription : OK Content : 5.234.179.95 RawContent : HTTP/1.1 200 OK Vary: Accept-Encoding Connection: close Transfer-Encoding: chunked Content-Type: text/plain Date: Fri, 01 Aug 2014 17:59:00 GMT Server: Apache 5.235.171.65 |
البته تا زمانی که سایت های بالا این سرویس را به ما ارائه می دهند می توان از این فرمانین استفاده کرد
جهت ساده تر شدن کار در powershell ویندوز می توان یک دستور ساده را برای اجرا کردن فرمان بالا با استفاده از ایجاد یک پروفایل ساخت .
در powershell فرمان test-path $profile را تایپ کنید و سپس اگر نتیجه false بود بدانید که profile ایجاد نشده و باید با استفاده از فرمان
new-item -path $profile -itemtype file –force |
آن را ایجاد کنید سپس دستور
notepad $profile |
را تایپ کنید تا فایل profile ایجاد شود . در فایل profile.ps1 می توانید فرامین زیر را در قالب یک function تعریف کنید
function MyIp { (Invoke-WebRequest ifconfig.me/ip) }function GetIP { (nslookup myip.opendns.com resolver1.opendns.com) } |
و سپس آن را ذخیره نمایید و حالا باید اجازه اجرا شدن Script هارا داد با استفاده از فرمان زیر
Set-ExecutionPolicy RemoteSigned |
حالا خیلی ساده می توانید در هر بار باز کردن powershell فقط تایپ کنید MyIp و یا GetIp همانطور که تعریف کردیم ایپی خارجی برایمان ظاهر می شود .
موفق باشید .