以前、私は 誰(どのプロセス)がcurlを呼び出しているのか と尋ねましたが、基本的にcurl binary
をシェルに置き換えた非常に良い回答( 特にこの回答 )を得ましたcurlへの各呼び出しをログに記録し、名前が変更されたcurlを呼び出し、パラメーターを渡すスクリプト。
今、私は再び同じような状況にいます、誰かがsmtpを使用しているかどうかはわかりますが、それがどのプロセスであるかわかりませんか?私はそれをcronジョブで使用していることを知っていますが、(ファイアウォールから受信したアラートによって)smtp
がインターネットに接続しようとすることがあります(私が間違っていない場合は、Google SMTPサーバー)。
誰が/どのプロセスがsmtpを使用しているかを知るにはどうすればよいですか?
MacOSで動作するかどうかはわかりませんが、Linuxでは次のようにできます。
$ Sudo netstat -ntop
次のような出力を取得します:
tcp 0 0 192.168.1.21:51150 10.5.4.3:443 ESTABLISHED 184/firefox off (0.00/0/0)
重要な部分は184/firefoxです-これはそれぞれPIDとプロセス名です。
トリックは、これを実際にキャッチすることです。定期的に発生する場合は、上記のコマンドをループで実行し、トラップするポートに対してgrepを実行します。それ以外の場合、ファイアウォールを使用して実行できるいくつかの魔法があるかもしれませんが、それは私の知識を超えています。