PROBE::NETFILTER.A(3stap)
π PROBE::NETFILTER.A(3stap) β Networking Tapset π
okay bestie, pull up a chair, we're looking at probe::netfilter.arp.in π
β¨ NAME β¨
probe::netfilter.arp.in β Called for each incoming ARP packet</p> π like literally every single one that shows up at the door.
πΈ SYNOPSIS πΈ
probe netfilter.arp.in {}
that's it, that's the whole vibe check π
π¦ VALUES π¦
so this probe hands you a whole goodie bag of variables. here's every single one, no skipping, no cap π
ar_opβ the ARP opcode, aka the command. the "what are we even doing here" field π«Άnf_queueβ a constant that means a 'queue' verdict. it's giving "hold on, let me think" πar_sipβ Ethernet+IP only (whenar_pro==0x800): the source IP address. who sent this β¨nf_dropβ a constant that means a 'drop' verdict. yeah we're not doing this one, bye πlengthβ how long the packet buffer contents are, in bytes. the size tag, fr fr πindev_nameβ name of the network device the packet was received on (if known). the little nameplate πnf_stopβ a constant that means a 'stop' verdict. full stop, periodt βdata_strβ a string that represents the packet buffer contents. the packet, but make it readable πar_tipβ Ethernet+IP only (whenar_pro==0x800): the target IP address. who's it for πnf_stolenβ a constant that means a 'stolen' verdict. someone else took it, not me πoutdev_nameβ name of the network device the packet will be routed to (if known). the destination's nameplate πdata_hexβ a hexadecimal string that represents the packet buffer contents. same packet, hex edition, lowkey iconic βoutdevβ address of thenet_devicerepresenting the output device,0if unknown. the actual outgoing device object π§ar_plnβ length of the protocol address πar_dataβ address of the ARP packet data region, i.e. after the header. the payload's home address πar_shaβ Ethernet+IP only (whenar_pro==0x800): the source hardware (MAC) address. sender's MAC, slay πnf_acceptβ a constant that means an 'accept' verdict. come on in bestie π«Άar_hlnβ length of the hardware address πar_proβ format of the protocol address. yes it matters,0x800girlies know πnf_repeatβ a constant that means a 'repeat' verdict. run it back πar_hrdβ format of the hardware address π§indevβ address of thenet_devicerepresenting the input device,0if unknown. the actual incoming device object β¨ar_thaβ Ethernet+IP only (whenar_pro==0x800): the target hardware (MAC) address. receiver's MAC, we see you πpfβ protocol family β always βarpβ. always. no exceptions. periodt πarphdrβ address of the ARP header. where the header actually lives π
ngl the "Ethernet+IP only" ones are only populated when ar_pro==0x800, so don't be shocked if they're empty on other protocol formats, bestie π
π₯ SEE ALSO π₯
tapset::netfilter(3stap)β go read the whole family, iykyk π
mwah, that's the page!! this was the SystemTap Tapset Reference, version-wise it's Ver and date-wise it's September 2026, and the manual page is PROBE::NETFILTER.A(3stap). go forth and sniff those ARP packets, you absolute icon π¦β¨
π¦ where this page comes from
- centos-stream 10: systemtap-client 5.6-3.el10 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- centos-stream 9: systemtap-client 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 43: systemtap-client 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 44: systemtap-client 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms