Sponsored Content
Operating Systems Linux C, LKM, netfilter, PF_PACKET and ARP. Post 302494265 by Zykl0n-B on Sunday 6th of February 2011 02:55:18 PM
Old 02-06-2011
C, LKM, netfilter, PF_PACKET and ARP.

Hello,
Everyone knows that with PF_PACKET sockets one can "sniff" a determinated frame from the network device, but just that, see the frame without altering its action on the receiving host. What i want is to "intercept" the incoming frame and pass it through some rules, and if it doesn't pass the rules, then DROP it without efecting its action on the host.

Let's say an ARP Request message, normally, the receiving host will create an entry on the ARP cache when it receives the ARP Request frame. If i use a PF_PACKET socket, i'll be able to see the packet, but not to intercept it, so however it passes my program rules or doesn't, its action will be the same, CREATE THE ARP ENTRY.

I know a little about netfilter and LKM programming, and i know that it does exactily what i want to do (intercept frames before it takes any action on the host), but from what i've seen, it just allows the programmer to handle IP level packets, so, what if i want to use netfilter to filter an ARP frame? Is it possible? And how is it done?

Thanks in advance.
Zykl0n-B
 

9 More Discussions You Might Find Interesting

1. Programming

Help in extending netfilter

Hi everybody, I have to write a module for matching in netfilter , extending the netfilter but I'm facing some problems can somebody guide me in that. I know that I need to write matching module working in kernel space and a program in userspace. I went through the HOWTO on netfilter-hacking but... (0 Replies)
Discussion started by: Trusted Penguin
0 Replies

2. Programming

Problem in registering new netfilter target module

Friends I'm facing a big problem trying to extend the netfilter. Somone please help me with your quick reply (any hint) as I've to meet a deadline. My problem is that I've written a new netfilter target module and its corresponding userspace program for iptables to change the packet type of a... (0 Replies)
Discussion started by: Rakesh Ranjan
0 Replies

3. Programming

extending netfilter...plz help

Hello friends i'm trying to extend iptables to include a target by which we can change the packet type field of a packet. For this i created a kernel module and a userspace extension. Now i face the problem that when i try to invoke iptable with the target i created i get an error message saying... (1 Reply)
Discussion started by: Rakesh Ranjan
1 Replies

4. IP Networking

netfilter connection tracking

hi, i'm using tcpreplay to send a traffic trace to my wireless interface (the trace is been captured by the same interface). It seems as netfilter can't trace connections. Is it possible? (0 Replies)
Discussion started by: littleboyblu
0 Replies

5. Cybersecurity

Netfilter conntracking for P2P protocols (edonkey, bittorent...)

Hi everyone, I would like to allow multi users to access P2P networks, so I wonder if there's a way to tracking these kind of protocols with netfilter, and also compatibility with nat, like the module conntrack_ftp seems to do with the FTP protocol. Thanks guys. (0 Replies)
Discussion started by: nekkro-kvlt
0 Replies

6. Linux

netfilter / iptables

HI, Is the Netfilter and IPtables same? Thanks & Regards Arun (1 Reply)
Discussion started by: Arun.Kakarla
1 Replies

7. UNIX for Advanced & Expert Users

problem with netfilter hook function struct skbuff *sock is null..

iam trying to built a firewall.so i have used netfilter for it. in function main_hook sock_buff is returning null and in my log file continuously "sock buff null" is printed plse help to solve this problem.. (using print_string iam printing strings on current terminal (terminal we ping)) ... (1 Reply)
Discussion started by: pavan6754
1 Replies

8. Cybersecurity

Experience with libvirt netfilter API

Hi all, I would like to get some ideas and opinions on matter of libvirt netfilter application in KVM environment. I am looking for some easy way to control it with an API and possible experience with that and its performance in real life application. Thanks for all ideas (0 Replies)
Discussion started by: smoofy
0 Replies

9. Cybersecurity

How to use Netfilter properly with IPv6?

Hello, on a PC with Debian 8 I try to use a Bash script with Netfilter rules so that only traffic goes in and out that is wanted. For that I set all 3 default policies to "drop". The machine uses DHCP to get its IP, gateway and DNS. And I never checked so I was quite surprised that my... (1 Reply)
Discussion started by: SInt
1 Replies
PPPOE-SNIFF(8)						      System Manager's Manual						    PPPOE-SNIFF(8)

NAME
pppoe-sniff - examine network for non-standard PPPoE frames SYNOPSIS
pppoe-sniff [options] DESCRIPTION
pppoe-sniff listens for likely-looking PPPoE PADR and session frames and deduces extra options required for pppoe(8) to work. Some DSL providers seem to use non-standard frame types for PPPoE frames, and/or require a certain value in the Service-Name field. It is often easier to sniff those values from a machine which can successfully connect rather than try to pry them out of the DSL provider. To use pppoe-sniff, you need two computers, a DSL modem and an Ethernet hub (not an Ethernet switch.) If the DSL modem normally connects directly to your computer's Ethernet card, connect it to the "uplink" port on the Ethernet hub. Plug two computers into normal ports on the hub. On one computer, run whatever software the DSL provider gave you on whatever operating system the DSL provider supports. On the other computer, run Linux and log in as root. On the Linux machine, put the Ethernet interface into promiscuous mode and start pppoe-sniff. If the ethernet interface is eth0, for exam- ple, type these commands: ifconfig eth0 promisc pppoe-sniff -I eth0 On the other machine, start your DSL connection as usual. After a short time, pppoe-sniff should print recommendations for the value of PPPOE_EXTRA. Set this value in /etc/ppp/pppoe.conf. If pppoe-sniff indicates that something special is required in PPPOE_EXTRA, please e- mail this to pppoe@roaringpenguin.com along with the name of your ISP and the manufacturer and model number of your DSL modem. This infor- mation will be collated and provided on the PPPoE web page for users who do not have two computers. After pppoe-sniff finishes (or you stop it if it seems hung), remember to turn off promiscuous mode: ifconfig eth0 -promisc OPTIONS
-I interface The -I option specifies the Ethernet interface to use. Under Linux, it is typically eth0 or eth1. The interface should be "up" and in promiscuous mode before you start pppoe-sniff. -V The -V option causes pppoe-sniff to print its version number and exit. BUGS
pppoe-sniff only works on Linux. AUTHORS
pppoe-sniff was written by David F. Skoll <dfs@roaringpenguin.com>. The pppoe home page is http://www.roaringpenguin.com/pppoe/. SEE ALSO
pppd(8), pppoe(8), pppoe-sniff(8), pppoe-relay(8), /usr/share/doc/pppoe/README.Debian.gz 4th Berkeley Distribution 3 July 2000 PPPOE-SNIFF(8)
All times are GMT -4. The time now is 08:27 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy