Hey there, Im currently working on a filter that captures source IP address, visited URL and a timestamp. So far i've been trying: (frame[54:16] == 47:45:54:20:2f:20:48:54:54:50:2f:31:2e:31:0d:0a), which works well on traffic generated from my PC, but I have to change the frame part to frame[66:16] to see traffic generated from apple devices. Can anybody tell me more about how the frame filter works? I guess It has something to do with location/position in the frame but I dont have a clue why there is 54 for PC traffic and 66 for apple devices. Is there a universal syntax to display traffic from all types of devices? Best regards asked 27 Feb '14, 10:51 added |
2 Answers:
In Wireshark/TShark, the term "filter" refers to something that a packet does, or doesn't match - i.e., all it does is say "this packet passes" or "this packet doesn't pass". In that context, "capture source IP address" means "packets with this IP source address pass the filter and other packets don't", "capture visited URL" means "packets that are HTTP requests using this URL pass the filter and other packets don't", and "capture timestamp" means "packets with this timestamp pass the filter and other packets don't". The Wireshark display filter you show looks for "GET / HTTP/1.1{CR}{LF}", so you appear to be trying to construct a filter that passes only HTTP requests with a visited URL of /. The So a A What you really want here is:
which is a LOT easier than trying to match raw bytes in a packet. That one will work no matter how big the link-layer, IP, and TCP headers are. answered 27 Feb '14, 15:39 Guy Harris ♦♦ |
The difference is 12 bytes so it is most proably the tcp timestamp option that apple supports and your PC doesn't. Try answered 27 Feb '14, 12:47 mrEEde |