(может быть, это «tcpflow» проблема)Grep с непрерывной трубой не работает
Я пишу сценарий для мониторинга HTTP-трафика, а также установить tcpflow
, затем Grep
это работает (и вы должны сделать запрос HTTP, например curl www.163.com
)
sudo tcpflow -p -c -i eth0 port 80 2>/dev/null | grep '^Host: '
он выводит, как это (непрерывно)
Host: config.getsync.com
Host: i.stack.imgur.com
Host: www.gravatar.com
Host: www.gravatar.com
, но я не могу продолжать использовать трубу
не работает (ничего выход)
sudo tcpflow -p -c -i eth0 port 80 2>/dev/null | grep '^Host: ' | cut -b 7-
не работает (ничего выход)
sudo tcpflow -p -c -i eth0 port 80 2>/dev/null | grep '^Host: ' | grep H
Когда Я заменяю sudo tcpflow
на cat foo.txt
, он работает:
cat foo.txt | grep '^Host: ' | grep H
так что случилось с трубой или grep или tcpflow?
обновление:
Это мой последний сценарий: https://github.com/zhengkai/config/blob/master/script/monitor_outgoing_http.sh
Что выход 'Sudo tcpflow -p -c -i eth0 порт 80 2>/dev/null | grep '^ Host:' '? – Inian
@ В настоящее время я добавляю его в вопрос –
Как это происходит? Нет выхода? –