亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用PowerShell腳本netstat監控網絡連接情況

發布時間:2021-09-26 15:58:39 來源:億速云 閱讀:399 作者:柒染 欄目:系統運維

這期內容當中小編將會給大家帶來有關如何使用PowerShell腳本netstat監控網絡連接情況,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

需求:想把netstat -na吐出來的數據統計一下,看看本地有沒有連接外網。因部分服務器不能連接外網。如果有連接外網,可能是***,需要報警。
注意:因為netstat是cmd的命令,盡管在PowerShell下可以運行這個命令,但是吐出來的數據是沒辦法再次加工的,它不是PowerShell原生命令。
原生命令比如Get-Command,可以通過以下腳本直接得到Get-Command中的所有的Name值,但是netstat不行。
Get-Command | Export-Csv -Path c:\1\2.csv
Import-CSV -Path c:\1\2.csv  | Select-Object Name
所以解決方法是把數據吐到一個CSV文件中,然后針對CSV進行加工,最后得到需要的統計信息。
經過測試,需要PowerShell3.0以上,也就是Windows Server 2012以上的版本(windows8以上也可以)。
腳本:
netstat -an |Out-File  c:\1\1.csv
$files = (Get-Childitem c:\1\1.csv).pspath
$content = get-content $files | Select-Object -Skip 4
clear-content $files
add-Content $files -Value "proto,Local Address,Port1,Foreign Address,Port2,State"
foreach ($line in $content -ne "active connections" -ne "  proto  local address          foreign address         state" -ne "活動連接" -ne "  協議  本地地址          外部地址        狀態")
{
$liner = $line.Replace("[::1]","local")
$line = $liner
$liner = $line.Replace("[::]","local")
$line = $liner
$liner = $line.Replace("127.0.0.1"," local")
$line = $liner
$liner = $line.Replace("0.0.0.0"," local")
$line = $liner
$liner = $line.Replace("10.10.14.20"," local")
$line = $liner
$liner = $line.Replace("*","outside")
$line = $liner

$line = $liner -replace("\s{1,}" ,",")
$liner = $line
$line = $liner -replace(":{1,}" ," ")
$liner = $line
$liner = $line.Replace(",TCP","TCP")
$line = $liner
$liner = $line.Replace(",UDP","UDP")
$line = $liner
$line = $liner -replace("\s{1,}" ,",")
$liner = $line
add-Content $files -Value $liner
}

以上腳本創建csv文件
以下腳本觸發報警

$emailSmtpServer = "smtp.163.com"
$emailSmtpServerPort = "25"
$emailSmtpUser = "normanjin@163.com"
$emailSmtpPass = "XXXXXXX"
$Body = "有連接外網,可能是***!"
$emailFrom = "normanjin@163.com"
$emailTo = "normanjin@163.com"

$content = Import-CSV -Path c:\1\1.csv | Select "Foreign Address"
foreach ($line in $content -notlike 'local' -notlike '10.10' -notlike 'outside'  -notlike '220.181.12.17')
{
$line
}
if($line -ne $null)
{
$emailMessage = New-Object System.Net.Mail.MailMessage( $emailFrom , $emailTo )
$emailMessage.Subject = "有連接外網,可能是***!"
$emailMessage.Body = $Body

$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer , $emailSmtpServerPort )
$SMTPClient.EnableSsl = $False
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential( $emailSmtpUser , $emailSmtpPass );
$SMTPClient.Send( $emailMessage )
}

上述就是小編為大家分享的如何使用PowerShell腳本netstat監控網絡連接情況了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绵阳市| 北辰区| 乌兰县| 二连浩特市| 晋城| 和静县| 光山县| 阿鲁科尔沁旗| 襄汾县| 平江县| 嘉义市| 宝山区| 甘孜县| 镇远县| 浪卡子县| 南和县| 霍州市| 巢湖市| 富锦市| 合肥市| 高碑店市| 都昌县| 大石桥市| 泊头市| 梁河县| 南宁市| 上杭县| 静海县| 太白县| 鄂州市| 红桥区| 武穴市| 天津市| 安阳市| 正镶白旗| 武强县| 竹溪县| 双鸭山市| 志丹县| 乳源| 徐州市|