Network and Communication


Itty-Bitty-Internet-Protocol is a tiny IP stack I created to allow communcation with embedded systems too small to have a network capable operating system. It contains minimal implementations of ARP, IP, DHCP, UDP, TCP and ICMP, and has hooks to add additional protocols if needed. All that is required to integrate it are routines to send/receive raw network packets and a system timer capable of seconds resolution. The application interface has been kept very simple to minimize integration effort. Ibip is very useful to provide telnet console and file transfer capability to otherwise non IP aware systems.


This Wind Turbine Controller implements a proprietery internet based management protocol allowing hundreds of 10 & 20kw wind turbines deployed across the country to:

All from a central remote site.

Ethernet Packet Sniffer

Sniff is an ethernet packet sniffer which can capture and record ethernet traffic on a wire. Its main features are:

I use this regularily to monitor and debug prorietary network protocols I develop for my clients.


Ddlink is a tiny (15k) file transfer program ideal for use on bootable "recovery" disks - No network operating system is required. Ddlink can operate over a Serial, Parallel or Ethernet connection (with packet driver), and provides a traditional split-screen display with the local system on one side, and the remote system on the other. Files and entire directory structures can be easily transferred in either direction, as well as other file management functions (erase, rename, mkdir, rmdir, set attributes etc.). In cases where this is no other means to get Ddlink onto the target system, it can even bootstrap itself to a DOS based recovery session with nothing but a serial port.


I have developed many Tftp implementations, as this is one of the easiest ways to move files around between small systems. Examples are:


Mac Monitor is a tool I created to keep tabs on my childrens PC and internet use. It:

  • Monitors and keeps track of all devices communicating over an ethernet network by hardware (MAC) address.
  • Tracks device active times by network activity.
  • Decodes DHCP requests to track sites visited.
  • Keeps daily logs of the times active and sites visited.
  • Enforces a curfew if certain devices are active outside of a defined time period.
  • Maintains a database of disallowed site names (and partial site names), and takes action when certain devices access those.
  • Can act as a bridge between two networks.
  • Handles curfew/site violations by sounding an audible alarm, and also by halting the offending devices traffic (if operating as a bridge).

    Every parent should have one!

    Ethernet Bridge

    Bridge is a program which bridges a connection between two ethernet interfaces. All packets are passed in either direction, with configurable error injection. This provides an ideal platform for testing network protocol implementations.

    Ethernet Load Generator

    Loadgen is an ethernet packet load generator, which is used to place a known load/stress on an ethernet network. Packet type, size, content and generation rate are all configurable.

    Data Line Monitor

    Data Line Monitor is a PC based asynchronous RS-232 data analyser. It uses a 'Y' cable to monitor both directions of a serial communications channel and provide time relative view and timestamps of the data and control signals occuring on that channel. Events can be captured and reviewed with various (Ascii, Hex, Control, Custom) display options. DLM includes a font editor which allow the creation of custom display characters.


    Multochannel Data Line Monitor is a redesign of DLM done at the requests of a client - it adds many features including the ability to monitor up to 24 simultaious channels.


    Pc100 is a PC terminal emulator which features:

    • Very complete and accurate emulation of a DEC VT-100 terminal.
    • Powerful "script" language to automate interactions.
    • 30 Programmable function keys send definable strings.
    • Ascii, Xmodem, Xmodem-1K file transfer protocols, and the ability to support additional protocols by linking to external modules.
    • Ability to define/remap every key on the PC keyboard.

    Serial Monitor

    Serial Monitor is a PC TTY emulator with the ability to monitor and log output from up to four RS-232 sessions sumultaniously. The screen can be "zoomed" between the four channel display and a single session, and the "keyboard" can to switched any session. This is primarily used to monitor devices in the lab which have serial consoles without having to have multiple terminals.

    Serial Line Error Simulator

    Line Error Simulator is a PC based tool using two serial ports which injects common errors into a serial communications channel at controllable rates. It is used to serial communication protocols.

    Serial Debug Terminal

    Serial Debug Terminal" is a PC terminal emulator which has additional features for debugging serial communications and protocols. It can send and receive in ASCII or HEX formats, supports any baud-rate possible on the PC serial port, reports the status of all input control signals on the serial port, and has function keys to manipulate all output control signals on the serial port. It also has pop-up help for RS-232 port pinouts and hex/ascii charts.

    Contact Information

    Copyright 2012-2019 Dave Dunfield.