Hey I need to send a IP packet with destination address 172.26.57.86 and mac address 00:11:22:33:44:55 for doing some protocol testing. What should I do?
Hmmm may be capture a similar packet in ethereal, modify the contents and send it out using some tool.
OK -- but what about checksums and all -- how to make sure they are re-computed.
OK -- but the ports are limited and I wont get one just for sending a few IP packets
Hmmm may be do a google search for some packet generator on windows/linux
OK -- but I need something that works -- dont want to waste time doing searching……………………
Do you identify yourself with the above conversation? If yes -- read ahead.
Many times, it is required to send a few packets of a particular kind as part of protocol/other testing. Dependency on standard tools like Ixia/Smartbits means that any such experimentation/testing would depend on the availability of that very tool.
In certain cases, it is indeed required to use a proper packet generator eg where high data rate traffic or very controlled kind of traffic is required. However, for cases, where data rates are not significant and more important aspect is to monitor the system behavior for a particular kind of packet, a dependable packet generator that could run on eg a windows host machine and send a configured packet on request would do the job.
In that context Ostinato provides user with a great alternative for packet generation purposes.
What is Ostinato?
Ostinato is an open-source, cross-platform packet/traffic generator and analyzer with a friendly GUI. Ostinato network tool can be used across linux, windows, MAC and BSD seamlessly.
- You need to generate different kind of packets eg TCP/UDP/ICMP
- Accuracy of sent rate is not important -- a close approximation would be enough
- Its important to send packets rather than having stringent traffic shaping requirements.
- You dont want to sit in a lab for sending a simple IP packet -- you want to do it sitting on your desk 🙂
- You don’t want to be bogged down by Ixia/Smartbits availability.
- Runs on both Windows and Linux
- Supports the most common standard protocols
- Ethernet/802.3/LLC SNAP
- VLAN (with QinQ)
- IP, ARP
- TCP, UDP, ICMP
- Modify any field of any protocol
- Stack protocols in any arbitrary order
- Create and configure multiple streams
- Configure stream rates, bursts, no. of packets
- Single client can control and configure multiple ports on multiple computers generating traffic
- Exclusive control of a port to prevent the OS from sending stray packets provides a controlled testing environment
- Statistics Window shows realtime port receive/transmit statistics and rates
- Capture packets and view them (needs Wireshark to view the captured packets)
The following youtube video describes the interface and configuration.
A few screenshots of Ostinato
- Main Window
- Protocol Selection
- Packet View
- Stream Control
Find this interesting? Follow the QuickStart link to know more.
Ostinato is PCAP compatible
From version 0.4 onwards, Ostinato can read and write PCAP files. So if you have a pcap file, you can open it directly in Ostinato . Alternatively, you can capture traffic using Wireshark, save it as a PCAP file and then open the PCAP file in Ostinato and replay it back! Ostinato intelligently parses the packets in the PCAP file while importing and you can edit any field of any packet before replaying the traffic back. It has now truly become “Wireshark in Reverse”.
Ostinato Troubleshooting Tips
After installation, you should be able to run Ostinato on your machine seamlessly by following the installation instructions. However in case you face any problem, you might find the following tips handy.
- If you can’t expand the port group to see a port list
- Check the port group status icon -- a red icon indicates that it is disconnected.
- Try connecting to the port group again.
- If reconnecting also fails, check the system tray to see if ‘drone‘ (the server component of Ostinato ) is running -- if it is not, run drone manually.
- If the port group status icon is green (connected) but you still can’t expand the port group to see a port list, re-verify that you are running Ostinato with administrative privileges and the ports are not disabled
- For more troubleshooting tips, check the Ostinato FAQ. Alternatively you can also send email to the Ostinato mailing list -- ostinato[at]googlegroups[dot]com.