Answers:
您可以使用特定的HTTP标头显示过滤器来仅显示请求标头,仅显示响应标头或同时显示这两个标头。
仅针对请求标头:
tshark tcp port 80 or tcp port 443 -V -R "http.request"
仅针对响应头:
tshark tcp port 80 or tcp port 443 -V -R "http.response"
对于请求和响应头:
tshark tcp port 80 or tcp port 443 -V -R "http.request || http.response"
注意:这不仅会过滤出标头,也不会仅过滤出包含标头的数据包,因此您可能仍会获得一些数据,但是数据量应少于其他情况。
tshark -V -Y http.request tcp port 80 or tcp port 443
实际上可以!以前的所有答案都非常接近。您只需要-O
标记即可过滤掉除HTTP之外的所有信息。
tshark -O http -R http.request tcp port 80 or tcp port 443
我自己的过滤器版本,易于阅读:
tshark -V -R "tcp.port ==80 && (http.request || http.response)" | awk "/Hypertext Transfer Protocol/,/Frame/ { print };/Transmission Control Protocol/{print};/Internet Protocol/{print}" | grep -v Frame
这样,我只能看到相关的IP和TCP信息,而不会看到所有低级内容,还有完整的HTTP信息。