An educational tool for teaching computer networking concepts.
Go to file
Tim Young 9bf9d58c48 IPAE: DNS lookup provides subnet mask as well as IP
If the user types in a name in the IP Address Entry form,
       also replace the subnet mask.

       This is particularly useful for pinging, since ping doesn't
       allow access to the subnet mask field, and if an inappropriate
       mask is autoIP-entered, then the results might be unexpected.

       Exception for DHCP ranges: Actually, it shouldn't be necessary
       (since the IP address field is disabled for DHCP), but just
       for completeness, I ensure that the second field is not altered
       for DHCP range entries.

       Scenario: Level4, Small Subnets
       1.) fix router2, so the subnet mask is /30
       2.) from pc1, ping pc2 (which is address 192.168.1.3)
                       -lastIP sets subnet mask to 255.255.255.252
                       -that makes .3 the broadcast address
       -fix result: lastIP mask is replaced by pc2's real mask.
2019-02-27 10:16:59 -06:00
.sync Posting through Visual Studio 2017-02-24 14:29:51 +03:00
EduNetworkBuilder IPAE: DNS lookup provides subnet mask as well as IP 2019-02-27 10:16:59 -06:00
EduNetworkBuilderSetup Update version number for publishing 2018-10-23 11:44:34 -05:00
.gitattributes Posting through Visual Studio 2017-02-24 14:29:51 +03:00
.gitignore Remove .vs from git by changing gitignore 2017-11-08 08:22:30 -06:00
EduNetworkBuilder.sln WiX stuff 2017-07-28 13:00:32 -05:00
EduNetworkBuilder.userprefs Minor work on tracert 2017-06-02 12:39:16 -05:00
README.md ubuntu 18.04 2019-02-22 14:24:45 -06:00

EduNetworkBuilder is a simple program for teaching network principles. It was inspired by watching a number of people struggling with PacketTracer in an attempt to undestand IP addresses, subnets, and gateways. Most of their struggles were with understanding how to configure an IP on each device; they never got around to learning about how the subnets worked.

EduNetworkBuilder is geared to take all the complexity away, and let you visualize the network and packet flow in a very simple way. It has proven itself already, as a great tool for teaching in lab-settings in Africa.

It is also set up to be a tool for self-teaching; If you can solve all the built-in puzzles, you should be well on your way to mastering networking.

EduNetworkBuilder is a Visual Studio program. You should be able to download the current free edition of Visual Studio, open the project file, and make the project. You should also be able to download pre-compiled versions from: http://tyounglightsys.ddns.info/EduNetworkBuilder

*** Building on Linux with Mono and XBuild ***

This should be the simplest way to install EduNetworkBuilder on Linux. You will need to install git, Mono and XBuild.

On Mint or ubuntu, you can do this by running:

$ sudo apt-get install mono-complete mono-xbuild git

For Ubuntu 18.04 also install libmono-microsoft-visualbasic10.0-cil

On Centos, you need the epel repository

yum install epel-release

yum install mono-complete mono-devel

yum install git

After this, you should be ready to download and compile. Determine where you want to build your source, cd to that directory, and run:

$ git clone https://git.solidcharity.com/timy/EduNetworkBuilder $ cd EduNetworkBuilder $ xbuild

After this, you should see a lot of build messages. In the end, you should be able to find the executable at: EduNetworkBuilder/bin/Debug/EduNetworkBuilder.exe Copy this file wherever you want. For example:

$ sudo cp EduNetworkBuilder/bin/Debug/EduNetworkBuilder.exe /usr/local/bin/

And then you can run it by simply typing:

$ EduNetworkBuilder.exe

*** Building on Linux With MonoDevelop ***

EduNetworkBuilder should compile on Linux using MonoDevelop with one small change to the code. EduNetworkBuilder on Windows uses the Microsoft deployment mechanism, which cannot build on Linux. To make it work, we need to change a configuration option. So, here are the instructions for building on Linux.

  1. Install MonoDevelop for your version of Linux

  2. Install git for your version of Linux

  3. Download the EduNetworkBuilder source code.

    $ git clone https://git.solidcharity.com/timy/EduNetworkBuilder

  4. Choose which git branch you want to use (optional)

    $ cd EduNetworkBuilder

    $ git checkout Development

  5. Change the EduNetworkBuilder.csproj file

    Find the line that says:

    <GenerateManifests>true</GenerateManifests>
    

    Change it to read:

    <GenerateManifests>false</GenerateManifests>   
    
  6. Run MonoDevelop (use the instructions for your specific operating system)

  7. Find and open the EduNetworkBuilder.sln file

  8. Tell EduNetworkBuilder to build using the MonoDevelop interface

  9. Find the exe in the build directory. Chmod that to make it executable, and put it wherever you want it to go:

    $ find . | grep EduNetworkBuilder.exe

    $ chmod 755 [EduNetworkBuilder.exe path]

    $ mv [EduNetworkBuilder.exe path] /usr/local/bin