私は4〜6週間ごとにGoogle IPアドレスを毎分10〜12回pingし始めるLinuxベースのモバイルデバイスを持っています。このように増加したpingはランダムに開始して終了するように見え、数日間続いた後は正常(つまり、pingなし)に戻り、ping要求は例外なく成功した応答を受け取るようです。 pingは常にGoogleアドレスを使用しているように見えますが、リクエストに使用されるIPアドレスは、pingアクティビティが新しく増加するたびに変わります。
私のデバイスでpingを開始するアプリケーション/プログラムを見つける方法はありますか?私は走った
grep -r "Google"
他のIPアドレスのソースとして使用するデバイスのリストやデータベースの種類を探したいのですが、運がありません。どんなアドバイス/フィードバック/地図でもいただきありがとうございます。
答え1
ftrace がカーネルに設定され、root アクセス権があると仮定すると、カーネルトレース機能を使用できます。
bpftrace などの最新のツールを使用できますが、組み込みデバイスには必要な依存関係をインストールするために必要なスペースが不足していることがよくあります。このソリューションは、長年にわたり使用されてきた ftrace を使用しています。これは単に生ファイルを使用するだけで、これらの手順の一部を自動化するためのツールがあります。
debugfsがまだインストールされていない場合はインストールします。
[ -e /sys/kernel/debug/tracing/README ] || mount -t debugfs debugfs /sys/kernel/debug
追跡の無効化、機能追跡のためのレポート設定、監視する機能の設定
cd /sys/kernel/debug/tracing
echo 0 > tracing_on
echo function > current_tracer
echo ping_init_sock > set_ftrace_filter
echo sock_sendmsg >> set_ftrace_filter # Optional, omit if ping_init_sock gives results
トレースの有効化
echo 1 > tracing_on
ping
イベントが発生するのを待ってから、trace
ファイルの内容を確認してください。
cat trace
# tracer: function
#
# entries-in-buffer/entries-written: 56/56 #P:1
#
# _-----=> irqs-off
# / _----=> need-resched
# | / _---=> hardirq/softirq
# || / _--=> preempt-depth
# ||| / delay
# TASK-PID CPU# |||| TIMESTAMP FUNCTION
# | | | |||| | |
ping-3085 [000] .... 8035797.349326: ping_init_sock <-inet_create
ping-3085 [000] .... 8035797.349352: ping_init_sock <-inet6_create
ping-3085 [000] .... 8035797.349739: sock_sendmsg <-___sys_sendmsg
ping-3085 [000] .... 8035797.349764: sock_sendmsg <-___sys_sendmsg
ping-3085 [000] .... 8035797.365248: sock_sendmsg <-__sys_sendto
ping-3085 [000] .... 8035797.365486: sock_sendmsg <-__sys_sendto
ping-3085 [000] .... 8035797.379917: sock_sendmsg <-__sys_sendto
ping-3085 [000] .... 8035797.387487: sock_sendmsg <-__sys_sendto
これは、PID 3085がpingを送信していることを示します。運が良ければ、pingを実行するプロセスはまだ実行中であるため、出力で見つけることができますps
。それ以外の場合は、認識可能な名前を使用することをお勧めします。
どちらも失敗した場合https://github.com/brendangregg/perf-tools/blob/master/deprecated/execsnoop-proc助けることができる