Well, it's official now:
Monday, February 27, 2012
Wednesday, February 08, 2012
Penultimate Perl Packets
Previous posts pontificated Perl packet crafting. This entry encapsulates every earlier evidence on the issue.
The Windows Packet Crafter is back - newly imagined as a Perl script that creates an interactive shell around the Net::Frame modules for creating and capturing custom packets from a Windows computer.
The misery of making packets on a Windows computer is of course the Windows TCP/IP stack's scarcity of support for raw socket options like IP_HDRINCL and normal setsockopt() calls. The way around this is literally around the Windows TCP/IP stack with a driver that allows access to the network hardware without the Windows API aggravation. The WinPcap library is a useful tool in this regard and there exists a Net::Pcap Perl module to fully utilize this functional utility.
I've already sung the praises in previous posts of the Net::Frame suite. Windows Packet Crafter creates a wrapper script to present a shell with commands and macros for creation and manipulation of packets using the Net::Frame suite.
Since Windows Packet Crafter is written in Perl as a Perl module with a separate shell script, one can easily create their own scripts utilizing the abstracted methods, macros and commands of the module. Or, for the lazy, just use the included scripts to create ARP requests, IPv4 and IPv6 traceroutes, TCP connections and many other common and useful tasks.
Windows Packet Crafter can easily be expanded with additional Perl modules - like Convert::ASN1 to decode SNMP packets (example is included in the distribution) or new 'plugins' to extend the features / commands in the Windows Packet Crafter shell environment.
Give it a test run and let me know what can be improved!