1 import subprocess
2 raw = raw_input("Filename:").lower()
3 ip = raw_input("Host:").lower()
4 cmd = subprocess.call("tcpdump -c5 -vvv -w" + " raw " + " ip ",shell=True)
Так что это мой сценарий. У меня все работает кроме одной ключевой цели, используя необработанный ввод.
Это позволяет мне вводить все, что я хочу, но когда дело доходит до сохранения файла или использования ip / host doe, на самом деле ничего не происходит.
Конечно, это дает мне пакеты, но с локального хоста, а не с хоста, который я ввожу.
откуда я знаю, что это не работает, потому что мой первый необработанный ввод - это имя файла, поэтому я проверяю, когда я смотрю в папку, где находится мой скрипт, он создает файл с именем «raw», это не так на самом деле, принимая мой ввод, используя только то, что внутри моего "Х" ...
Так что у меня есть несколько шансов прийти к этому:
1 import subprocess
2 raw = raw_input("Filename:").lower()
3 ip = raw_input("Host:").lower()
4 cmd = subprocess.call("tcpdump -c5 -vvv -w" + raw + "host" + ip,shell=True)
Это замечательно, потому что на самом деле он вызывает -w, но теперь сохраняет его как rawhostip вместо ввода «raw».
для справки вот как выглядит команда в терминале:
tcpdump -c5 -vvv -w savename host wiki2
только две переменные - это savename и wiki2, остальные нужны для работы команды.
с помощью этого скрипта я получаю эту ошибку:
import subprocess
raw = raw_input("Filename:").lower()
ip = raw_input("Host:").lower()
cmd = subprocess.call("tcpdump -c5 -vvv -w" + raw, "host" + ip,shell=True)
Ошибка:
Traceback (most recent call last):
File "te.py", line 4, in <module>
cmd = subprocess.call("tcpdump -c5 -vvv -w" + raw, "host" + ip,shell=True)
File "/usr/lib/python2.6/subprocess.py", line 480, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.6/subprocess.py", line 583, in __init__
raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer
Я в растерянности. Любая помощь будет отличной, да, я знаю, посмотрите на документацию подпроцесса на сайте: X, мне нужен человек, чтобы научить меня, я не понимаю, что я читаю.
У меня вопрос, как мне работать с этими переменными.