Bash расширит **
в вашем фильтре отображения на то, что вам, вероятно, не нужно, потому что вы используете двойные кавычки . Вы можете использовать одинарные кавычки, чтобы гарантировать, что bash не изменяет содержимое фильтра отображения.
Per WireShark http docs , http.referer
- это строка, поэтому проверка на пустоту значения сверяются с ""
. Поэтому используйте http.referer and !http.referer == ""
, чтобы получить пакеты, в которых есть это поле, но также где поле не пустое.
tshark -Y 'http.request == 1 and http.referrer and !http.referer == ""' ...
Примечание : field != value
и !field == value
различны, и последнее предпочтительнее. dftest можно использовать , чтобы продемонстрировать, почему это так.