ログファイルで私のパブリックIPアドレスをどのように追跡できますか?

ログファイルで私のパブリックIPアドレスをどのように追跡できますか?

統計収集から自分のWebサイトへのアクセスを除外するために使用できるように、私のパブリックIPアドレスをログファイルに保存したいと思います。この時点で、私の実際のパブリックIPアドレスを見ることができます。Whatsmyip.org- しかし、モデムの電源を切るたびに状況が変わると思います。

固定パブリックIPアドレスがなく、ISPが固定IP範囲を提供していないようです。

私はLinux Mint 17.3を実行しています。同様のログファイルを持つ方法はありますか?そうでない場合は、後で私のIPを追跡できますか?追跡する方法?

答え1

これによりパブリックIPが提供されます。/ip詳細については、その部分を削除してください。

$ curl ipinfo.io/ip

答え2

noip.comなどの一部の動的DNSサービスを使用してから、IPに応じて変更されるDNS名でリソースにアクセスできます。

通常、プロバイダは NAT にアドレス プールを使用します。各curl https://ipinfo.io/ip要求は、NAT設定に従ってこのプールからランダムなアドレスを返します。

ウェブサイトの訪問を追跡するには、さまざまな方法を使用することをお勧めします。鉄製ビスケット。

以下は、cronに入れてアドレスを収集する小さなPythonコードです。

#!/usr/bin/env python

from datetime import datetime
import os
import requests

LOG = '/tmp/ip.log'
URL = 'https://ipinfo.io/ip'

r = requests.get(URL)
if r.status_code == 200:
    ip = r.content.decode('ascii').rstrip('\n')
    last_ip = None
    if os.path.exists(LOG):
        f = open(LOG, 'r')
        last_ip = f.readlines()[-1].split()[-1]
        f.close()
    if ip != last_ip:
        f = open(LOG, 'a')
        f.write("{} {}\n".format(datetime.now(), ip))

答え3

crontabファイル(crontab -e)にこの行を追加して、日付とパブリックIPv4アドレスをというファイルに書き込みます。ip_public.txtこのファイルは毎日正午12時にホームディレクトリに保存されます。

0 0 * * * echo $(date +\%Y-\%m-\%d) $(curl https://ipinfo.io/ip 2>/dev/null) >> ~/ip_public.txt 2>&1

答え4

これにはすでに答えがありますが、DNSを使用してパブリックIPアドレスを取得する別の方法があります。

dig +short myip.opendns.com @resolver1.opendns.com

その後、履歴を保存するにはスクリプトでラップする必要があります。

関連情報