[ANN] packetgen 3.0.0 released

Sylvain Daubert <[email protected]>
Newsgroups gmane.comp.lang.ruby.general
Message-ID <[email protected]>
packetgen 3.0.0 has been released.

* home: <https://github.com/sdaubert/packetgen>
* bugs: <https://github.com/sdaubert/packetgen/issues>
* doc: <https://github.com/sdaubert/packetgen/wiki>


PacketGen provides simple ways to generate, send and capture network
packets.

Supported protocols are: Ethernet, Dot11, Dot1x, ARP, IP, IPv6, GRE,
ICMP, IGMP, ICMPv6, MLD, MLDv2, OSPFv2, OSPFv3, UDP, TCP, SNMP, DNS,
EAP, BOOTP, DHCP, TFTP, HTTP and MDNS.

This is a major release of PacketGen. Some behaviours have changed (see
below). NetBIOS, ESP and IKE protocols are no more supported out of the box.

This major release comes with its plugins:

* SMB plugin 0.4.0 (https://github.com/sdaubert/packetgen-plugin-smb).
This plugin now supports NetBIOS protocol.
* new IPsec plugin 1.0.0
(https://github.com/sdaubert/packetgen-plugin-ipsec). This plugin
supports ESP and IKE protocols.

To install plugin, do:

        gem install packetgen-plugin-smb packetgen-plugin-ipsec



Changes:

### 3.0.0 / 2018-10-26

* NetBIOS protocol is no more part of PacketGen. This protocol is now
included in SMB plugin.
* ESP and IKE protocols are no more parts of PacketGen. These protocols
are now included in their own plugin: IPsec plugin.

* Behavioral changes:
** Make all types respond to human API (#to_human and #from_human). This
implies some changes on Types::String fields: magic method now returns a
ruby String, and no more the Types::String. To access to it, use #[]
accessor. For example, to access Types::String of body field in IP
header, do: ip[:body].
** Types::Array now accepts length_from option, as Types::String already
does.
** Home-made protocols which defined #protocol_name should now defines
.protocol_name to be recognized by their name (used in Packet.gen and
Packet#add).
** #to_w now calls #calc on packet by default. To send erroneous
packets, set calc option to false (i.e.: pkt.to_w(iface, calc: false)).

* clean up:
** big clean of whole code.
** Remove deprecated methods.
** remove a lot of warnings when running with ruby -w.

* Optimizations:
** Optimize packet parsing;
** Optimize #to_w, especially on IPv6: there is no more limitation on
what can be sent on wire.
** Optimize Utils.mitm. Spoofed IP will see far lesser lag.
** Header::IP#calc_length now also calculates ihl field.

Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-talk>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.