

For both HTTP and HTTPS you'd be looking at ip.addr = 10.0.0.1 & (tcp.port = 80 || tcp.port = 443). If you wanted that to include HTTPS traffic (TCP port 443) you could modify it to read host 10.0.0.1 and tcp and (port 80 or port 443).įor a display filter to do the same thing w/ HTTP only you'd be looking at ip.addr = 10.0.0.1 & tcp.port = 80.

To capture only HTTP traffic to/from the host 10.0.0.1, for example, you could use the capture filter host 10.0.0.1 and tcp and port 80. Wireshark capture filters use tcpdump filter syntax, so an article about tcpdump filters will help you out. If you're going to be doing a long-term capture and you want to limit the size of your capture files you'll probably want to use a capture filter. You can learn more about Wireshark display filters from the Wireshark wiki. Display filters are used to filter out traffic from display but aren't used to filter out traffic during capture. Wireshark uses pcap to capture packets, so it can only capture packets on the types of networks that pcap supports. It can parse and display the fields, along with their meanings as specified by different networking protocols.

The syntax you're showing there is a Wireshark display filter. Wireshark is a data capturing program that 'understands' the structure (encapsulation) of different networking protocols. You can change the prefix name by redefining the HTTP::extraction_prefix variable.You need to differentiate between capture filters and display filters. You can filter the output to obtain only the GET requests: bro-cut id.orig_h id.resp_h method host uri 'HTTP::extract_file_type = /video\/avi/'īro sniffs the MIME type of a HTTP body and if it matches the regular expression /video\/avi/, it creates a file with the prefix http-item. The one you are interested in is http.log. This invocation generates a bunch of log files in the current directory.

Simply run it with your trace file: bro -r While this may be doable with Wireshark, it is orders of magnitude easier with Bro.
