خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را
دریافت لیست از TCP Connection های فعال برای کامپیوترهای ریموت تحت دامین
شماره پورت شبکه می تواند اطلاعات مهمی را درباره برنامه هایی که از طریق شبکه به کامپیوترها، هاست های درون سازمان و بیرون سازمان و سایر تجهیزات دسترسی دارند، ارائه دهد. با دانستن برنامه هایی که از شبکه و پورت های شبکه مربوطه استفاده می کنند، می توانید Rule های دقیقی برای فایروال ایجاد کرده و کامپیوترهای هاست ریموت را طوری پیکربندی کنید که فقط ترافیک ضروری و مورد نیازشان داشته باشند. پورتهای فعال TCP/IP در endpoint های شما می توانند فعالیت مخرب بالقوه یا قرار گرفتن در معرض حملات سایبری را نشان دهند و دریافت لیستی از TCP connection ها فعال در هر TCP endpoint در شبکه شما اولین قدم عالی برای درک سطح حمله و همچنین قفل کردن شبکه از حوادث امنیتی و باج افزارهای آینده است. اطلاعات باید شامل IP address و Port مقصد، process و سایر اطلاعات باشد. این راهنما برخی از روشهای ساده برای ایجاد لیستی از TCP connection های فعال در سيستم عامل های ویندوز را توصیف می کند.
بیشتر هدف این مطلب در شبکه های سازمانی و شرکت هایی است که بصورت دامین مدل راه اندازی شده اند.
در دستور اول لیست کامل از TCP Connection ها با جزئیات بسیار زیاد از یک سیستم مشخص که در شبکه است را نشان می دهد:
در دستور فوق و در سایر دستورها به جای RemoteComputerName باید نام کامپیوتر مورد نظرتان در شبکه را جایگزین کنید.
همانطور که مشاهده می کنید اطلاعات با جزئیات بسیار زیاد از تمامی کانکشن های TCP در این سیستم لیست می شود. اما می توانید صراحتا مشخص کنید که چه فیلدهایی در خروجی نمایش داده شوند و با فرمت جدول نمایش داده شود. مثلا به WMI کوئری زیر دقت کنید:
در دستور فوق اولا خروجی با فرمت جدول نشان داده می شود که خواندن را برای شما بسیار ساده می کند و همچنین IP Address مقصد، پورت مقصد و همچنین در ستون OwningProcess در حقیقت PID آن پردازش را می توانید مشاهده کنید. در خصوص PID اینکه ببینید هر PID متعلق به چه پردازشی است، به لینک زیر می توانید مراجعه کنید:
شما می توانید خروجی را بر اساس یکی از فیلدها، Sort کنید. مثلا در دستور زیر بر اساس Remote IP Address، خروجی دستور مرتب سازی می شود.
اگر خروجی دستور زیاد است، می توانید بر اساس ip address فیلترهای بیشتری اعمال کنید. مثلا ip های مقصدی که سیستم مورد نظر شما در شبکه بدان متصل است. در دستور زیر فقط می خواهیم ببینیم که در شبکه داخلی سیستم مورد نظر ما به چه دستگاه ها یا کامپیوترهای دیگری متصل است(فقط در شبکه داخلی):
شما به جای 192.168، می توانید یک IP Address کامل و مشخص در درون شبکه داخلی یا در اینترنت را جایگزین کنید و خروجی را ببینید.
در دستور زیر قصد داریم یک خروجی CSV بگیریم:
اگر در دستورات قبلی هم قصد خروجی csv گرفتن دارید کافیست کد قرمز رنگ فوق را به دستورات اضافه کنید. همانطور که مشاهده می کنید خروجی csv در درایو c ایجاد شده که شما می توانید مسیر مورد نظرتان را جایگزین کنید.
برای مشاهده TCP Connection ها برای چندین کامپیوتر از دستورات زیر می توانید استفاده کنید. توجه داشته باشید که در کوئری زیر، فیلتر فقط برای کامپیوترهایی است که ویندوز 10 روی آنها نصب شده می باشد.
و خروجی زیر برای تمامی ویندوز سرورهای درون شبکه است:
در دو دستور زیر، خروجی ها با فیلدهای مشخص شده و بصورت جدول نمایش داده خواهد شد:
بیشتر هدف این مطلب در شبکه های سازمانی و شرکت هایی است که بصورت دامین مدل راه اندازی شده اند.
در دستور اول لیست کامل از 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 دیدگاه)
دیدگاه خود را ثبت کنید: