Hi, Sorry for the length of this email but I figured I'd get this out early in case there was anyone else who wanted to play with this.
I have now gotten out version 0.1 of the Packet Construction Set. This is a set of Python libraries which make writing protocol testing software much easier. Of course, you have to know Python, but many people do, and I favor it strongly over other scripting choices. The Summer of Code student I'm working with has also been using this library, with favorable results. The Source Forge page is here: http://sourceforge.net/projects/pcs and the shar files submitted to get the ports created are now on: http://www.freebsd.org/~gnn/pcs.port.shar http://www.freebsd.org/~gnn/py-pypcap.shar The point of all this is to be able to write better protocol level tests for our network stack. Examples are in the scripts/ and tests/ directories of the package but a quick snippet may give a good idea of what I'm getting at: def test_icmpv4_ping(self): ip = ipv4() ip.version = 4 ip.hlen = 5 ip.tos = 0 ip.length = 84 ip.id = 1 ip.flags = 0 ip.offset = 0 ip.ttl = 33 ip.protocol = IPPROTO_ICMP ip.src = 2130706433 ip.dst = 2130706433 icmp = icmpv4() icmp.type = 8 icmp.code = 0 icmp.cksum = 0 echo = icmpv4echo() echo.id = 32767 echo.seq = 1 lo = localhost() lo.type = 2 packet = Chain([lo, ip, icmp, echo]) input = PcapConnector("lo0") input.setfilter("icmp") output = PcapConnector("lo0") assert (ip != None) out = output.write(packet.bytes, 88) assert (out == 88) This code sends a quick and dirty, ICMPv4 ping packet on localhost. The point of all this is to be able to specify packets easly (see pcs/packets/xxx.py) and then to treat the packet as an object. I intend to write up a paper on this stuff as well. There is currently a simple manual (PDF and LaTeX) in the package. Later, George _______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "[EMAIL PROTECTED]"