失敗談 技術

小ネタ – Python3 でIPv4アドレスの第三オクテットを加算する方法

投稿日:

ホント小ネタです。IPv4アドレスの第四オクテットは単に加算すればいいですが、第三オクテットを加算する方法が見つかりませんでした

通常はしないのかもしれませんが、、そして残念ながら、いい方法がありませんでした。結局intにしてx 256にするという当たり前な方法しか。。

以下の感じです。

# 一行で書くと以下
# ipaddress.ip_address(int(ipaddress.ip_address('192.168.1.1'))+(num * 256))

import ipaddress


class OctetIPAddress():

    def __init__(self, ipaddr):
        self._ipaddr = ipaddress.ip_address(ipaddr)

    def third_octet(self, num):
        return ipaddress.ip_address(int(self._ipaddr) + (num * 256))


if __name__ == '__main__':
    print(OctetIPAddress('192.168.1.1').third_octet(3))

実行すると以下になります。

$ python3 pyip.py
192.168.4.1

もうちょっと考えるといい方法があるのかもしれませんが、とりあえず妥協。。

そして当然ながら、numを257にすると、192.169.2.1になるという、、可変では使わないからな、、たぶん。使うときは気にしよう。

-失敗談, 技術

執筆者:

関連記事

Thunderbird プラグイン WebExtensions版開発方法を調べた

初めに 最近のメールは、中身だけ見てもスパムかどうかわからないぐらい、精巧にできてます。 一方、各プロバイダでは対応ができていることも多いです。例えば、私はメールはOCNなのですが、OCNは&#822 …

Pipenvでライブラリ(*.whl)をキャッシュする方法

仕事でWebアプリケーションを作成した場合、ガンガンとライブラリのバージョンを上げたりはしない場合があります。 そして、長期間放置されるタイプのWebアプリケーションの場合、使用しているライブラリが、 …

PythonでAESを使用して暗号/復号する

1.つづき Pythonで、PKCS#12の公開鍵で暗号、秘密鍵で復号するプログラムの続きです。 今回はAESで暗号化/復号を行い、通信しながらRSA暗号/復号,AES暗号/復号を組み合わせたいと思い …

暗号モードによる処理時間の違いを測定してみた

はじめに 前回、AESで暗号化する実装をしてみた際、知らない暗号モードが増えたなと思いました。 なので、どの暗号モードを使用すべきかの、判定材料の一つとして、代表的な暗号モードの処理速度を簡単に計って …

@nifty auひかり タイプVからタイプGに変えてみた

家のインターネットはいままで、光回線ではありましたが、昔のVSDLのままでした。auひかりでいう、マンション タイプVというやつです。 それを近年、リモートワークが増えていることや、半導体需要がなんと …

google オプトアウト Click here to opt-out.