Slashdot Mirror


Packet Generation under Linux?

Marcus Vollmer writes "I am looking for packet generation tools, or suggestions on how to go about writing one. I need to be able to generate ip packets with specific characteristics and send them to a network appliance, in order to simulate possible scenarios. For example, one appliance we want to test performs layer 7 operations, we want to be able to test splitting requests and responses up across multiple frames, force retransmits, and send different responses back. (eg. if the first request was split over 3 frames, we might want to send a reset and have the client retransmit using only 2 frames). I doubt there are any existing tools to do this, but we were thinking of writing a series of tools using netfilter, and placing a linux box between the client and the appliance running these filters to alter the packets. If there are existing tools to do this thats great, if not, any pointers and resources would be great. There is a good article in the Linux Journal (Feb and March issues), along with the information at netfilter.org, but we would be interested in hearing any ideas and suggestions from the slashdot community."

5 of 19 comments (clear)

  1. SendIP by MadCamel · · Score: 5, Informative

    SendIP seems to be just what you are looking for:
    http://www.earth.li/projectpurple/progs/send ip.htm l

    Nemesis is also pretty good. There are a variety of "human IP stack" type tools available. I can also reccommend the Net::RawIP PERL module, if you are PERL literate.

  2. You will find LCRZO useful by jquiroga · · Score: 5, Informative

    LCRZO is a network library to do exactly what you need. You can find it here.

    Quoting from Laurent's website:

    Lcrzo is a network library, for network administrators and network hackers.
    Its objective is to easily create network programs. This library provides network functionnalities for Ethernet, IP, UDP, TCP, ICMP, ARP and RARP protocols. It supports spoofing, sniffing, client and server creation. Furthermore, lcrzo contains high level functions dealing with data storage and handling. Using all these functions, you can quickly create a network test program.

    The library lcrzo provides :
    + network functionnalities :
    - address conversion
    - packet encoding/decoding/printing
    - spoofing
    - real/virtual UDP/TCP clients/servers
    - sniffing
    - device(network board) dealing
    - etc.
    + and general functionnalities :
    - data conversion
    - chained list
    - IPC
    - etc.

  3. Check CPAN by grundy · · Score: 5, Informative

    Net::RawIP is pretty awesome, and perl is good for throwing test tools together quick.

  4. LibNet, the packet assembly library by Gruturo · · Score: 5, Informative

    As the subject says. Used as a "packet assembly line", it has any sorts of packet generation facilities. libnet.sf.net

    --

    Vacuum cleaners suck. Kings rule.
  5. libnet and libpcap by little_fluffy_clouds · · Score: 2, Informative

    This has to be the best place to start: libnet homepage. This pagehas all the info and links you need.

    --
    What were the skies like when you were young?