我已经尝试了page和其他一些Google搜索的所有内容,但我似乎无法让这一切发挥作用。
注意*我查找了有关打印的帮助以测试outfile.write的输出,但我仍然无法在测试中正确格式化
我的代码如下:
def ipfile():
global ip_targets
ip_target_file = raw_input('Place target file location here: ')
try: ip_holder = open(ip_target_file,'r')
except IOError:
os.system('clear')
print('Either I can\'t read that file, or it\'s not a file')
os.system('sleep 3')
return
ip_targets = ip_holder.readlines()
def inbound_connections():
i = 0
uri_ip_src = ''
uri_ip_dst = ''
while i < (len(ip_targets)):
uri_ip_src_repeater = ('ip.src%3D%3D' + ip_targets[i])
uri_ip_src = uri_ip_src + '||' + uri_ip_src_repeater
uri_ip_dst_repeater = ('ip.dst%3D%3D' + ip_targets[i])
uri_ip_dst = uri_ip_dst + '||' + uri_ip_dst_repeater
i += 1
url = '&expression=' + "(" + (uri_ip_src[2:]) + ")" + "%26(" + (uri_ip_dst[2:]) + ")"
#Write output to file functions
outfile=open("jacobi_queries.txt","a")
outfile.write("Same -> Same Connections " + str(datetime.datetime.now())[:16])
outfile.write("\n")
outfile.write(call_moloch + "/sessions?" + timestamp + url + "' 2>/dev/null &")
outfile.write("\n")
outfile.close()
代码有效(对不起,我留下了一些来自其他功能的变量,但假设它们有效)但是,我的输出有换行符,我似乎无法找到需要转换的地方&#34; uri_ip_src&#34;和&#34; uri_ip_dst&#34;使它在一行输出。我的输出看起来像这样:
Same -> Same Connections 2018-06-05 05:30
nohup firefox 'localhost:8005/sessions?&date=6&expression=(ip.src%3D%3D10.0.2.15
||ip.src%3D%3D10.0.0.1
||ip.src%3D%3D127.0.0.1
)%26(ip.dst%3D%3D10.0.2.15
||ip.dst%3D%3D10.0.0.1
||ip.dst%3D%3D127.0.0.1
)' 2>/dev/null &
有什么想法吗?
答案 0 :(得分:0)
您的问题是:
ip_targets = ip_holder.readlines()
在每一行的末尾都有换行符。您希望在将每个元素的末尾添加到uri_ip_src_repeater
之前删除此字符。这应该有效:
ip_targets = [i.rstrip('\n') for i in ip_targets]
但你也可以从源头中干净地抓住它们,而不必在以下情况下剥离不需要的字符:
ip_targets = ip_holder.read().splitlines()