خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


دریافت لیست از TCP Connection های فعال برای کامپیوترهای ریموت تحت دامین

دریافت لیست از TCP Connection های فعال برای کامپیوترهای ریموت تحت دامین
شماره پورت شبکه می تواند اطلاعات مهمی را درباره برنامه هایی که از طریق شبکه به کامپیوترها، هاست های درون سازمان و بیرون سازمان و سایر تجهیزات دسترسی دارند، ارائه دهد. با دانستن برنامه هایی که از شبکه و پورت های شبکه مربوطه استفاده می کنند، می توانید Rule های دقیقی برای فایروال ایجاد کرده و کامپیوترهای هاست ریموت را طوری پیکربندی کنید که فقط ترافیک ضروری و مورد نیازشان داشته باشند. پورتهای فعال TCP/IP در endpoint های شما می توانند فعالیت مخرب بالقوه یا قرار گرفتن در معرض حملات سایبری را نشان دهند و دریافت لیستی از TCP connection ها فعال در هر TCP endpoint در شبکه شما اولین قدم عالی برای درک سطح حمله و همچنین قفل کردن شبکه از حوادث امنیتی و باج افزارهای آینده است. اطلاعات باید شامل IP address و Port مقصد، process و سایر اطلاعات باشد. این راهنما برخی از روشهای ساده برای ایجاد لیستی از TCP connection های فعال در سيستم عامل های ویندوز را توصیف می کند.

نرم افزار سامانه مودیان راهکار
بیشتر هدف این مطلب در شبکه های سازمانی و شرکت هایی است که بصورت دامین مدل راه اندازی شده اند.


در دستور اول لیست کامل از TCP Connection ها با جزئیات بسیار زیاد از یک سیستم مشخص که در شبکه است را نشان می دهد:

Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer RemoteComputerName

در دستور فوق و در سایر دستورها به جای RemoteComputerName باید نام کامپیوتر مورد نظرتان در شبکه را جایگزین کنید.
همانطور که مشاهده می کنید اطلاعات با جزئیات بسیار زیاد از تمامی کانکشن های TCP در این سیستم لیست می شود. اما می توانید صراحتا مشخص کنید که چه فیلدهایی در خروجی نمایش داده شوند و با فرمت جدول نمایش داده شود. مثلا به WMI کوئری زیر دقت کنید:

Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer RemoteComputerName | Select-Object RemoteAddress, RemotePort, OwningProcess, PSComputerName

در دستور فوق اولا خروجی با فرمت جدول نشان داده می شود که خواندن را برای شما بسیار ساده می کند و همچنین IP Address مقصد، پورت مقصد و همچنین در ستون OwningProcess در حقیقت PID آن پردازش را می توانید مشاهده کنید. در خصوص PID اینکه ببینید هر PID متعلق به چه پردازشی است، به لینک زیر می توانید مراجعه کنید:


شما می توانید خروجی را بر اساس یکی از فیلدها، Sort کنید. مثلا در دستور زیر بر اساس Remote IP Address، خروجی دستور مرتب سازی می شود.

Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer RemoteComputerName | Select-Object RemoteAddress, RemotePort, OwningProcess, PSComputerName | Sort-Object RemoteAddress

اگر خروجی دستور زیاد است، می توانید بر اساس ip address فیلترهای بیشتری اعمال کنید. مثلا ip های مقصدی که سیستم مورد نظر شما در شبکه بدان متصل است. در دستور زیر فقط می خواهیم ببینیم که در شبکه داخلی سیستم مورد نظر ما به چه دستگاه ها یا کامپیوترهای دیگری متصل است(فقط در شبکه داخلی):

Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer RemoteComputerName | Select-Object RemoteAddress, RemotePort, OwningProcess, PSComputerName | Where-Object -FilterScript {$_.RemoteAddress -like "192.168.*"}

شما به جای 192.168، می توانید یک IP Address کامل و مشخص در درون شبکه داخلی یا در اینترنت را جایگزین کنید و خروجی را ببینید.
در دستور زیر قصد داریم یک خروجی CSV بگیریم:

Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer RemoteComputerName | Select-Object RemoteAddress, RemotePort, OwningProcess, PSComputerName | Export-CSV "c:\file.csv" -Append -NoTypeInformation

اگر در دستورات قبلی هم قصد خروجی csv گرفتن دارید کافیست کد قرمز رنگ فوق را به دستورات اضافه کنید. همانطور که مشاهده می کنید خروجی csv در درایو c ایجاد شده که شما می توانید مسیر مورد نظرتان را جایگزین کنید.
برای مشاهده TCP Connection ها برای چندین کامپیوتر از دستورات زیر می توانید استفاده کنید. توجه داشته باشید که در کوئری زیر، فیلتر فقط برای کامپیوترهایی است که ویندوز 10 روی آنها نصب شده می باشد.

Get-ADComputer -Filter {OperatingSystem -Like 'Windows 10*'} | ForEach-Object {Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer $_.Name}

و خروجی زیر برای تمامی ویندوز سرورهای درون شبکه است:

Get-ADComputer -Filter {OperatingSystem -Like '*server*'} | ForEach-Object {Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer $_.Name}

در دو دستور زیر، خروجی ها با فیلدهای مشخص شده و بصورت جدول نمایش داده خواهد شد:

Get-ADComputer -Filter {OperatingSystem -Like 'Windows 10*'} | ForEach-Object {Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer $_.Name}  | Select-Object RemoteAddress, RemotePort, OwningProcess, PSComputerName

Get-ADComputer -Filter {OperatingSystem -Like '*server*'} | ForEach-Object {Get-WmiObject -Namespace ROOT\StandardCIMV2 -Class MSFT_NetTCPConnection -Computer $_.Name} | Select-Object RemoteAddress, RemotePort, OwningProcess, PSComputerName

نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز