Python3
OSX 10.13.2
我正在尝试制作FACEBOOK_WHITELIST
,以便在收听webhook
时防止来自互联网的恶意攻击
我正在获取IP地址。这个命令非常简单,只需whois
、pipe
和{
问题:
def test():
import subprocess
ps = subprocess.Popen(
["whois", "-h", "whois.radb.net", "--", "'-i origin AS32934'"],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
output = subprocess.check_output(('grep', 'route'), stdin=ps.stdout)
ps.wait()
追踪:
然后我尝试了更小的函数调用。他们两个都不是工作。 第一个是单引号中的单字符串
In [46]: ps = subprocess.Popen(["whois", "-h", "whois.radb.net", "--", "'-i origin AS32934'"])
...:
...:
In [47]: % No entries found for the selected source(s).
第二种方法是将字符串拆分为多个双引号字符串
In [48]: ps = subprocess.Popen(["whois", "-h", "whois.radb.net", "--", "'-i", "origin", "AS32934'"])
In [49]: % No entries found for the selected source(s).
% No entries found for the selected source(s).
% No entries found for the selected source(s).
我哪里错了?在
更新:
@让·弗朗索瓦·法布
In [49]: ps = subprocess.Popen(["whois", "-h", "whois.radb.net", "--", "-i", "origin", "AS32934"])
In [50]: %% Attribute name after "-i" is invalid or unsupported.
% No entries found for the selected source(s).
aut-num: AS32934
as-name: Facebook
descr: Facebook
member-of: AS-FACEBOOK
import: from AS-ANY accept ANY AND NOT {0.0.0.0/0}
export: to AS-ANY announce AS-FACEBOOK AND NOT {0.0.0.0/0}
admin-c: FBNetEng
tech-c: FBNetEng
notify: noc@fb.com
mnt-by: MAINT-AS32934
changed: vvasilev@fb.com 20170627 #21:09:05Z
source: RADB
你引用最后一篇文章的尝试与
^{pr2}$Popen
的引用是多余的。我无法测试,但您必须删除您添加的额外引号:Popen
检测参数中是否有空格,并根据需要自动引用。添加更多引号会使Popen
添加更多引号,并且命令的参数是错误的。在除非您需要分别传递每个参数,但由于您在第一个和最后一个参数中留下了引号,否则这样做的尝试也会失败。但这并不意味着:
应该是
相关问题 更多 >
编程相关推荐