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 (when ar_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 (when ar_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 the net_device representing the output device, 0 if 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 (when ar_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, 0x800 girlies know 😌
  • nf_repeat β€” a constant that means a 'repeat' verdict. run it back πŸ”
  • ar_hrd β€” format of the hardware address πŸ”§
  • indev β€” address of the net_device representing the input device, 0 if unknown. the actual incoming device object ✨
  • ar_tha β€” Ethernet+IP only (when ar_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 πŸ”₯


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