# Packetbeatのinterfaces-deviceの設定について

**URL:** <https://discuss.elastic.co/t/packetbeat-interfaces-device/54158>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [June 28, 2016, 12:01pm UTC](https://discuss.elastic.co/t/packetbeat-interfaces-device/54158 "2016-06-28T12:01:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![aurantiacus](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@aurantiacus](https://discuss.elastic.co/u/aurantiacus)\
**Post date:** [June 28, 2016, 12:01pm UTC](https://discuss.elastic.co/t/packetbeat-interfaces-device/54158/1 "2016-06-28T12:01:03Z")

</div>

お世話になります。

packetbeatについて日本語で質問したいのですが、こちらでも大丈夫でしょうか？

packetbeatのinterfaces-deviceの設定について質問があります。

複数のWindowsパソコンにpacketbeatを入れて  
httpプロトコルのデータ収集を考えています。

yml設定ファイルにある

> interfaces:  
> devices:

への設定値が各パソコンによって0であったり5であったりと違うのですが、  
自動的に判定もしくは複数設定、`any`？のような設定はありませんか？  
※deviceの番号はコマンドで調べて設定しました。

もし設定がない場合、自動化を実現するにはどのような手段で行えばよいでしょうか？

beatは軽量でとても素晴らしいプラットフォームなので是非とも使用したいと考えています。  
ご助言いただければと思います。よろしくお願いします。

---

<div class="post-metadata">

**Author:** ![johtani](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/johtani/32/44956_2.png) [@johtani](https://discuss.elastic.co/u/johtani)\
**Post date:** [June 29, 2016, 7:22am UTC](https://discuss.elastic.co/t/packetbeat-interfaces-device/54158/2 "2016-06-29T07:22:14Z")

</div>

残念ながら`any`はLinuxだけみたいです。

> [@Packetbeat: What are the databases/servers that we can listen to?](https://discuss.elastic.co/t/packetbeat-what-are-the-databases-servers-that-we-can-listen-to/44809/5):
>
> No just for linux. See [device](https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-interfaces.html#_device) docs, it says. On Linux, you can specify any for the device... On Windows, use packetbeat.exe -devices to get a list of devices. Then use the interface index in your config. interfaces: device: 0

自動化するとしたら、`-devices`オプションを利用して取得するスクリプトを書いたりでしょうか？

> **[Configure traffic capturing options | Packetbeat Reference \[8.11\] | Elastic](https://www.elastic.co/guide/en/beats/packetbeat/current/configuration-interfaces.html#_device)**

---

<div class="post-metadata">

**Author:** ![aurantiacus](https://avatars.discourse-cdn.com/v4/letter/a/ebca7d/32.png) [@aurantiacus](https://discuss.elastic.co/u/aurantiacus)\
**Post date:** [July 1, 2016, 12:03pm UTC](https://discuss.elastic.co/t/packetbeat-interfaces-device/54158/3 "2016-07-01T12:03:29Z")

</div>

ありがとうございます。  
それが最終手段かと考えていましたが。。。

今回対応してみた内容を展開します。

packetbeat.exe -devices  
を実行するとdeviceは

・有線LANのアダプタ  
・無線LANのアダプタ  
・仮想アダプタ  
・Bluetoothアダプタ

と、端末によっては下記例のように複数リストが出力されます。

例.  
0: 仮想アダプタ1  
1: 有線LANアダプタ  
2: 無線LANアダプタ  
3: Bluetooth  
4: 仮想アダプタ2

この中から1:有線LAN及び2:無線LANのパケットを監視したい場合、  
Windowsのレジストリからネットワークアダプタを取得し、  
マッチングさせることで、Deviceのどの番号を使用したらいいか自動的に判別することが出来ました。

レジストリのキーは(HKLM\Software\microsoft\windows nt\CurrentVersion\networkcards)の配下に  
数字のキーがネットワークアダプタだけ存在していて  
そこのServiceNameの内容とpacketbeat.exe -devicesの内容が部分一致したものが  
ネットワークアダプタである

というようにして、動的にpacketbeatを起動できるようにしました。  
※面倒だった部分はymlのdeviceを設定するときに外部から環境変数や起動引数などで指定できたら楽だったのですが。。。

そこは出来たのですが、今度は出力されるログ形式について質問でてきたのですが、それはまた別で質問を上げようと思います。

ありがとうございました。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:47pm UTC](https://discuss.elastic.co/t/packetbeat-interfaces-device/54158/4 "2017-07-06T13:47:17Z")

</div>


