Netbounce Responder

by: burt rosenberg
at: february 2026

Overview

You are to install a Netbounce Responder, running the netbounce_server2.c code on an EC2 instance, with its output piped to the homepage of the instance.

Cloning example/netbounce

The assignment as accepted has the base netbounce code. Clone the repo to both your AWS instance and your local machine. Compile in both places.
  1. In your running EC2 add the private key for your github in the directory ~/.ssh, remembering to chmod it to at most lenient 0400.
  2. Update or create the ~/.ssh/config file to read,
    Host github
    User git
    Hostname github.com
    IdentityFile _pathname_to_private_key_
    
  3. Then test,
    # ssh -T github
    .... You've successfully authenticated, but GitHub does not provide shell access.
    
  4. Clone with git clone github:csc424-262/examples.git
  5. configure your git with,
    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"
    
There is now a netbounce-server2 that will write the verbose output to a log file.

Enable and configure SSI

I will now explain how the logfile will be presented by your web server using server-side includes.
  1. Copy the index.shtml file found in the project repo to /var/www/ubuntu/index.shtml. Note: If index.shtml is not found in the project, it is found in this public repo.
  2. Read this shtml file. Note that there are HTML comments that begin with a hash-prefixed word. These are directives that will be recognized and acted upon by the Server Side Include module once it is enabled and configured. (See howto/ssi.html.)
  3. Enable the SSI module,
    cd /etc/apache2
    sudo a2enmod  include
    
    see howto apache modules for more information. Note that this command is ubuntu, not apache.
  4. Configure the SSI module. Add,
    <Directory /var/www/>
            Options +Includes
            AddType text/html .shtml
            AddOutputFilter INCLUDES .shtml
            DirectoryIndex index.shtml index.html
    </Directory>
    
    to /etc/apache2/site-available/000-default.conf,
  5. Restart the webserver and check all went well,
    sudo systemctl restart apache2
    sudo systemctl status apache2
    
  6. Browse to your webserver, and the shtml should show the time, but will complain about not finding the file netbounce-log.txt, because we have not created that file yet.

Test with the example client

Update the Makefile in your project with the correct log file location,
LOGFILE= /var/www/ubuntu/netbounce-log.txt
and run the webserver,
make run-server2-weblog
On a local machine, after setting the correct IP address, netbounce theserver,
make run-client
and refresh the webserver.
Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

author: burton rosenberg
created: 8 feb 2024
update: 1 feb 2026