DNSlookup 中的命令行参数

Command Line Arguments in DNSlookup

我正在尝试检查 IP 地址的反向查找,然后将结果写入 txt 文件。但我不知道如何获取 IP 地址作为命令行参数(Linux 环境)而不是在脚本中写入 IP。

我的脚本:

import sys, os, re, shlex, urllib, subprocess 

cmd='dig' -x 8.8.8.8 @192.1.1.1

proc = subprocess.Popen(shlex.split(cmd), stdout=subprocess.PIPE)
out, err = proc.communicate()

sys.stdout = open("/tmp/test.txt", "w")
print(out)
sys.stdout.close()

您可以使用 sys.argv:

获取 cli 参数
import sys, subprocess 

cmd = 'dig -x %s @192.1.1.1' % sys.argv[1]

proc = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
out, err = proc.communicate()

with open("/tmp/test.txt", "w+") as f:
    f.write(out)