Get-NetTCPConnectionIPアドレス監視
解決したいこと
・特定のIPアドレス範囲のホワイトリストを作成しTCPConnectionされている
IPアドレスを監視したい
・特定のIPアドレス以外のIPからコネクトがあった場合はCSV出力したい
例)
Ruby on RailsでQiitaのようなWebアプリをつくっています。
記事を投稿する機能の実装中にエラーが発生しました。
解決方法を教えて下さい。
ホワイトリストのIPアドレス範囲
LocalAddress LocalPort RemoteAddress RemotePort
192.168.140.0/24 80,443,445 ‐ 80,443,24,587
172.16.0.0/16 80,443,445 ‐ 80,443,24,588
172.17.0.0/16 80,443,445 ‐ 80,443,24,589
172.18.0.0/16 80,443,445 ‐ 80,443,24,590
例)
NameError (uninitialized constant World)
または、問題・エラーが起きている画像をここにドラッグアンドドロップ
該当するソースコード
Get-NetTCPConnection | Where-Object {$_.LocalAddress} |
Where-Object {$_.LocalPort -eq 24 -or $_.LocalPort -eq 80 -or $_.LocalPort -eq 443 -or $_.LocalPort -eq 587}
| Where-Object {$_.RemoteAddress -match "(^192\.168\.140\.)" -or $_.RemoteAddress -match "(^172\.1[6-8]\.)" -or $_.RemoteAddress -match "(^10\.)"}
| Where-Object {$_.RemotePort -eq 80 -or $_.RemotePort -eq 443 -or $_.RemotePort -eq 24 -or $_.RemotePort -eq 587}
|Where-Object {$_.State -eq "Established" -or $_.State -eq "Listen"}
例)
def greet
puts Hello World
end
自分で試したこと
確認したいこと
・上記式で検索結果は得られますがcsv、jsonなどでIPアドレス範囲を
ホワイトリスト化しpoweshellでImport-csvし,現状のGet-NetTCPConnectionと比較する方法がわかりません。
CIDR 172.16.0.0/16 IPアドレス範囲をすべてcsvに書込む方法もあるかと思いますが、データが膨大
な為、他に正規表現などでCIDRを表現しCSVに記載、Import-csvで読み込み比較できないかをご教授頂けると幸いです。
開発経験が浅い為、素人質問になってしまい申し訳ございませんが
ご教授いただければ幸いです。
以上、よろしくお願いいたします。