Chcę zachować ślad adresu URL, który odwiedzam, więc używam wiersza polecenia w ten sposób:
tcpdump -ien1 -v -X 'port TCP 80' | sed -nl s / ^. 0x [0-9a-f] {4}:. {43} (. ) $ / 1 / p '| perl break.pl | perl -pe 's / (GET | POST). (. ?). HTTP / 1 .... Host:. ([A-zA-Z._0-9-] ) ../ ” „.localtime ().”: http: // 3 $ 2 $ 2 n / / ge | grep „^ BEGURL”
Działa dobrze, jeden adres URL na linię. Ale jeśli to zrobię
tcpdump -ien1 -v -X 'port TCP 80' | sed -nl s / ^. 0x [0-9a-f] {4}:. {43} (. ) $ / 1 / p '| perl break.pl | perl -pe 's / (GET | POST). (. ?). HTTP / 1 .... Host:. ([A-zA-Z._0-9-] ) ../ ” „.localtime ().”: http: // 3 $ 2 $ 2 n / / ge | grep „^ BEGURL” & gt; / tmp / out
(zauważ koniec & gt; & gt; / tmp / out) Wtedy plik jest pusty! Wiesz dlaczego? To dla mnie całkowicie nielogiczne.
Próbowałem też przekierować stdout i stderr do / tmp / out, to wciąż jest puste. Plik ma dostęp do zapisu. Nie mam pojęcia, co to może być. Czy jest coś innego niż stdout i stderr ??
za wszelką pomoc.