0

データ (tshark でスニッフィングされたパケット) を kafka ブローカー/コンシューマーに継続的に送信しようとしています。

私が従った手順は次のとおりです。

1.飼育係の開始:

kafka/bin/zookeeper-server-start.sh ../kafka//config/zookeeper.properties

2.カフカサーバーを起動しました:

kafka/bin/kafka-server-start.sh ../kafka/config/server.properties

3. kafka コンシューマを開始しました:

kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic \
                                           'my-topic' --from-beginning

4.次の Python スクリプトを作成して、盗聴したデータを消費者に送信します。

from kafka import KafkaProducer
import subprocess
producer = KafkaProducer(bootstrap_servers='localhost:9092')
producer.send('my-topic', subprocess.check_output(['tshark','-i','wlan0']))

しかし、これはプロデューサー端末と出力にとどまります:

Capturing on 'wlan0'
605
^C

コンシューマーには何も転送されません。

pysharkPythonでtsharkを実装するために使用できることを知っています:

import pyshark
capture = pyshark.LiveCapture(interface='eth0')
capture.sniff(timeout=5)
capture1=capture[0]
print capture1

しかし、キャプチャしたパケットをプロデューサーからコンシューマーに継続的に送信する方法がわかりません。何かアドバイス?

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

4

1 に答える 1