「不正な」インターネットアクセスアプリケーションを特定する


14

現時点では、私はapplication / service / widget / plugin / cronjobを何でも持っており、定期的にインターネットにアクセスしています。特定の問題の詳細に進むことはできますが、自分自身を見つけて、Ubuntuの詳細を学ぶことができる答えが欲しいです。

dnstop現在、ネットワークで行われているすべてのDNS要求を表示するために使用しています。現在、議論のためweather.noaa.govに、15分のサイクルで行われる要求があります。プロセスをチェックしても何も見つかりませんでしたが、おそらく天気予報です。リクエストはコンピューターから送信されます。

質問は、どのプロセスがアクセスしているweather.noaa.govかをどのように判断するのですか?

これを理解するために、各サービス/プラグイン/アプリケーションをシャットダウンすることにより、エリミネーションのプロセスを実行したくありません。どのプロセスがそのDNS要求を行っているかを判断する方法を見つけたいと思います。

適切な「アプリケーションファイアウォール」があれば、リクエストは行われなかったでしょう。しかし、これは「馬が既にボルトを締めている」シナリオであり、そのDNS要求を行っている「不正な」プロセスを見つけたいと考えています。

回答:


7

無限ループをしばらく実行してもかまわない場合は、netstatを連続して実行し、プログラムが接続しているコンピューターのIPアドレスの出力をフィルター処理できます。ドメイン名の代わりにIPアドレスを使用することをお勧めします。これは、はるかに高速であり、各netstat呼び出しにかかる時間を短縮し、実際にプロセスをキャッチする可能性を高めるためです。プロセスが現在ログインしているユーザーに属していないと思われる場合は、netstatコマンドをrootとして実行する必要があります。したがって、まずnslookupを使用してドメインのIPを計算します。

nslookup weather.noaa.gov

私にとって、これは現時点では193.170.140.70と193.170.140.80です。これで、netstatsの無限ループを作成できます。出力は、grepを使用してフィルタリングできます(STDERRを破棄します)。

while [ true ] ;  do netstat -tunp 2>/dev/null | grep -e 193.170.140.70 -e 193.170.140.80  ; done

もちろん、上記の例のIPアドレスを編集します。この例は、TCPおよびUDP(-tu)接続のプローブであり、DNS解決を行わず(-n)、プロセスをリストします(-p)。DNS解決を行うのに十分な時間があると思われる場合は、単にnetstatの-nオプションを省略し、IPではなくgrepのドメインを配置します。CTRL + cを押すだけで無限ループを停止できます

これがお役に立てば幸いです、アンドレアス

PS:これは理想的、効率的、またはクリーンな方法ではありませんが、1回の検索ではこれで十分です。


私はそれを試して、犯人を捕まえることができるかどうかを確認します
Meer Borg

3

接続しているFQDNを/ etc / hostsに追加することで、アプリケーションを「ブレーク」することもできます。10.1.2.3(または127.0.0.1)などのルーティング不可能なIPをいくつか与えて、何が壊れるかを確認します。


私は通常、それがないルートがそうであるように、アプリ私のようなものを約めったに彼らの「naughtyness」を発表しない話している0.0.0.0に設定してください
ミーアボルグ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.