pierf packet generator and analyzer

Intro

pierf is in the first place a packet injection tool. It builds packets and puts them directly on the network driver, bypassing the operating system. Therefore, it is not limited to the features of the OS. It is intended as a test tool for ethernet/ip devices. For ideas of possible future features, have a look at the enclosed Readme.txt file. It uses the free libraries (win)pcap for packet injection and expat for xml parsing.

User interface

Packet matching

One of the powerful abilities of the pierf tool is to build conditions on the received packets. This allows to implement conditional replies, counters,... A sample how to construct such a condition in the pierf xml language:

...
<receive port="myport" nomatch="loop">
  <firstof>
    <match>
      <eth from="02:02:02:02:02:03" />
      <seq>
        <print />
        <counter ref="matchRx" action="increment" />
        <packet port="filesample2">
          <eth from="CD:EF:AB:CD:EF:FF" to="12:34:56:78:09:AB" ethertype="0x0000"/>
          <raw>12:34:56:78:09:AB:CD:EF:AB:CD:EF:12:34:56:78:09</raw>
        </packet>
      </seq>
    </match>
  </firstof>
</receive>
...

Appendic A. License