MCPcopy Create free account
hub / github.com/google/gopacket / ExampleBPF

Function ExampleBPF

pcap/pcap_test.go:264–303  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

262}
263
264func ExampleBPF() {
265 handle, err := OpenOffline("test_ethernet.pcap")
266 if err != nil {
267 log.Fatal(err)
268 }
269 synack, err := handle.NewBPF("tcp[tcpflags] & (tcp-syn|tcp-ack) == (tcp-syn|tcp-ack)")
270 if err != nil {
271 log.Fatal(err)
272 }
273 syn, err := handle.NewBPF("tcp[tcpflags] & (tcp-syn|tcp-ack) == tcp-syn")
274 if err != nil {
275 log.Fatal(err)
276 }
277 for {
278 data, ci, err := handle.ReadPacketData()
279 switch {
280 case err == io.EOF:
281 return
282 case err != nil:
283 log.Fatal(err)
284 case synack.Matches(ci, data):
285 fmt.Println("SYN/ACK packet")
286 case syn.Matches(ci, data):
287 fmt.Println("SYN packet")
288 default:
289 fmt.Println("SYN flag not set")
290 }
291 }
292 // Output:
293 // SYN packet
294 // SYN/ACK packet
295 // SYN flag not set
296 // SYN flag not set
297 // SYN flag not set
298 // SYN flag not set
299 // SYN flag not set
300 // SYN flag not set
301 // SYN flag not set
302 // SYN flag not set
303}

Callers

nothing calls this directly

Calls 4

MatchesMethod · 0.95
OpenOfflineFunction · 0.85
NewBPFMethod · 0.80
ReadPacketDataMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…