首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据包跳跃接口检测

数据包跳跃接口检测
EN

Stack Overflow用户
提问于 2019-10-01 15:55:14
回答 2查看 147关注 0票数 0

我正在使用packbeat来监控网络流量,用于使用ELK的类似SIEM的设置。我想将其推送到大量机器上,但设置需要在packetbeat.yml中手动识别。

有没有人能够编写脚本来选择适当的接口来监视packetbeat的过程?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-03 21:03:59

Powershell版本-

代码语言:javascript
复制
$count = (C:\path\to\packetbeat.exe - devices).count

$line = ''


for($i=0; $i -le ($count-1); $i++){

    $line +="packetbeat.interfaces.device:"+" $i `r`n" 

    }

$line  | Out-File -FilePath "C:\path\to\packetbeat\Interfaces.yml"

$configTemplate = Get-Content -Path "C:\path\to\packetbeat\ConfigTemplate.yml"

$interfaces = Get-Content -Path "C:\path\to\packetbeat\Interfaces.yml"

$interfaces + "`r`n" + $configTemplate | Out-File -FilePath "C:\path\to\packetbeat\packet.yml"
票数 0
EN

Stack Overflow用户

发布于 2019-10-03 19:22:18

我把这些放在一起--它使用了3个独立的.yml

ConfigTemplate.yml,它包含packetbeat.yml的其余部分,但不包括接口。

Interfaces.yml,这是一个用于将接口写入的临时文件。

packetbeat.yml,这是packetbeat将使用的最终配置文件。

python脚本应该与config.yml一起位于packetbeat目录中

唯一的限制是它需要在主机上安装python --下一步是看看是否可以用powershell来完成。

希望这对任何人都有帮助!欢迎任何改进!

代码语言:javascript
复制
import subprocess

devices = subprocess.check_output(["powershell.exe", "(./packetbeat.exe   devices).count"])

devicesCount = int(devices.decode('utf-8'))

print(devicesCount)

deviceCount = range(devicesCount)


with open('ConfigTemplate.yml', 'r') as original: data1 = original.read()


with open('Interfaces.yml', 'w') as modified: 

  for i in deviceCount:
    modified.write("packetbeat.interfaces.device: " + str(i)+ "\n" )


with open('Interfaces.yml', 'r') as original: data2 = original.read()


with open('Packetbeat.yml', 'w') as modified2: modified2.write("# ================== Set listening interfaces ==================" +"\n"+ data2 + "\n" + data1 + "\n")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58180337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档