可能是一个关于subprocesses的简单修复,但我无法确定出什么问题。在
我有一个小的网页列表,我想为其包捕获。每个网页我要一个pcap文件。我用的是tcpdump和{}。以下是代码的相关部分:from selenium import webdriver
..more imports here..
URLs = ['https://webpage1.com', 'https://webpage2.com', etc.]
driver = webdriver.PhantomJS(executable_path='/usr/bin/phantomjs', port=65000)
driver.set_window_size(1024, 768)
def Crawler():
for eachHost in URLs:
print '\n* Capturing in-progress.'
print '* Host: ', eachHost
try:
handle = subprocess.Popen(['sudo', 'tcpdump', '-w', str(eachHost) + '.pcap'], stdout=subprocess.PIPE)
driver.get(eachHost)
time.sleep(5)
driver.close()
time.sleep(2)
handle.terminate()
print '* tcpdump killed.'
except:
print '* Exception caught.'
sys.exit(0)
sys.exit(0)
我希望它做什么:捕获每个页面加载的前5秒,并将其放入单独的pcaps
它的作用:在我的终端中打印下面的内容,然后挂起,捕获但不终止,不循环到下一个网页。在
^{pr2}$