Nmap Security Scanner
*Intro
*Ref Guide
*Install Guide
*Download
*Changelog
*Book
*Docs
Security Lists
*Nmap Hackers
*Nmap Dev
*Bugtraq
*Full Disclosure
*Pen Test
*Basics
*More
Security Tools
*Pass crackers
*Sniffers
*Vuln Scanners
*Web scanners
*Wireless
*Exploitation
*Packet crafters
*More
Site News
Site Search:
Exploit World
Advertising
About/Contact
Credits
Sponsors:




Vulnerability Development mailing list archives

Re: Any way to automatically change arbitrary headers of IP packets on-the-fly?
From: João Paulo Caldas Campello <protecao () gmail com>
Date: Fri, 15 Apr 2005 20:12:24 -0300

On 4/14/05, Valdis.Kletnieks () vt edu <Valdis.Kletnieks () vt edu> wrote:

Currently, iptables doesn't seem to support that, probably to keep you from
shooting yourself in the foot.  Consider for example how fast the kernel will
fold up if you change that first nybble of the packet from an x'4' to an x'6'
without changing the rest of the packet to match.  Suddenly, that sk_buff is
a lot too short.. ;)

Yeah, maybe, who knows :P

Well, I've did some searching last days and found a couple ways to
achieve what I've described in my email.

One is using "DIVERT sockets" and other is the use of the "-j QUEUE"
target of iptables/netfilter. Both approaches are similar: you match a
packet using iptables to flush them to userspace, where you can mangle
the entire packet as you like and send it back to iptables, who will
put it again onto the stack.

The "-j QUEUE" approach is manipulated through the "libipq" API:

- netfilter can feed userspace using IPQUEUE:
  * http://www.crhc.uiuc.edu/~grier/projects/libipq.html

- Perl:
  * http://www.intercode.com.au/jmorris/perlipq/

- Python:
  * http://woozle.org/~neale/src/ipqueue/

As you can see, there's already libraries written in Perl and Python
to query IPQUEUE, so the effort of writing userspace code to deal with
IP packets wiil be much more easier.

That's it =)

Cheers,

João Paulo.


  By Date           By Thread  

Current thread:
[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]