Cheops Network User Interface


Mini Screenshot — click to enlarge Cheops is an Open Source Network User Interface. It is designed to be the network equivalent of a swiss-army knife, unifying your network utilities. Cheops does for the network what a file manager does for your filesystem.

Cheops is in need of a new maintainer. I have been unable to give Cheops the attention it needs. Every day I get e-mails asking about bug fixes and enhancements. Is anyone out there up to the task?

Cheops hopes to provide the system administrator and the user a powerful tool for locating, accessing, diagnosing, and managing network resources, all with the click of a button. Cheops is distributed under the terms of the GNU General Public License (GPL).


Cheops is written using the GIMP Tool Kit, GTK+, and is being designed for integration with GNOME, although GNOME support is currently minimal. Cheops has been verified to build under GTK+ versions 1.0.6, 1.1.1, 1.1.2, 1.1.3, and 1.1.5. It was designed for Linux but ports to other operating systems are welcome.

Its mechanics are nothing new, using routines taken from a variety of other tools, including QueSO for OS detection, halfscan for service detection (no link). Tracing/mapping is done using the same method traceroute uses (UDP and ICMP).


Cheops is available at the FTP site ( and distribution is governed by the terms of the GNU General Public License.


Cheops is Open Source software, and contributions, in terms of bug reports, ideas, documentation, and best of all patches, are welcome.

Its ability to survive and be successful will greatly depend upon the contributions of others. You do not have to know how to code to contribute, although it does help. The current TODO list is:

Programming related contributions:
layout.c: Offer a nice graph layout when a page is mapped
layout.c: Ability to set properties
I’d like someone to help me go back and retroactively comment my code
A Postscript rendering engine would be nice for printing
Non-programming related contributions:
Documentation (user and developer documentation)
Better icons (all sizes)
General wish list:
Book on OpenGL (preferably under UNIX)
Book on ODBC database stuff (preferably under UNIX)
Book on SNMP (Thanks to those who have contributed this)
As I am a student, monetary, hardware, and other contributions are always welcomed and encouraged to help me continue my free software development. Please tell me how you feel about the software.


While cheops currently explores and provides easy access to network resources, it should be expanded to provide monitoring functionality as well.

Also, note the TODO items above.

Mailing List

If you would like to subscribe to the Cheops mailing list, send an email to with the word subscribe in the body of the message.

An archive of the mailing list is available here.

Frequently Asked Questions

The Cheops FAQ is located here. Last updated Dec. 15, 1998.


Cheops is written by Mark Spencer. I can be reached at, or you can see me if I’m in my room here. My resume is available online. My other projects include GAIM, l2tpd, NADS and Linux Support Services.

Special thanks to Cheops sponsors

While I sincerely appreciate all the supportive e-mails and comments I have received about Cheops, I would especially like to thank the following companies who have supported free software by providing hardware or monetary donations to help keep Cheops development steaming ahead.

Adtran, Inc.
Cybertrails Internet Services
The Debian Project
(If you or your company would like to make a monetary or hardware contribution to support Cheops, please contact me).

Also, Special Thanks To

Peter Grace (veneficus@IRC, KaiKnight@AIM) for his help in testing.
John K. for the revised web page layout.

The free L2TP implementation for Linux


11-12-1998: Version 0.60 released.
09-29-1998: Solaris support in CVS tree.
08-23-1998: Generic PPP patches available.
05-21-1998: Midnight Networks joins sponsor list.
05-21-1998: First alpha release available here.
05-21-1998: Successful interop with Zyxel
05-09-1998: Hidden AVP’s supported
05-08-1998: Tunnel Authentication Working
05-07-1998: Initial FreeBSD port
05-07-1998: Pulsecom joins sponsor list
05-04-1998: Successful interoperability with Cisco router
05-02-1998: initial work on configuration file
04-30-1998: packet buffering increases performance by 1000%
04-21-1998: l2tpd talks to itself!
04-20-1998: Migration to new scheduler
04-13-1998: New scheduling code added
04-08-1998: Control Re-transmission revamped
04-06-1998: De-threaded l2tpd functioning. More stable than threaded version
04-03-1998: Initial ideas for file format
04-02-1998: Welcome aboard, Nortel!

Introduction to L2TP:

Layer two tunneling protocol is a method for encapsulating standard PPP through a variety of media. The protocol also allows encapsulation of PPP using UDP packets. The draft specification for l2tp can be found here. The two most practical uses of L2TP are:
Establishment of virtual private networks
Ability to separate the devices which physically accept calls (say a modem or an ISDN termination) from the device which terminates the PPP call (say a centralized server.)
L2TP consists of two pieces: the L2TP Access Concentrator (LAC) and the L2TP Network Server (LNS). The LAC is the device which physically terminates a call. The LNS is the part which terminates and probably authenticates the PPP stream.

What is this project?

Adtran, Inc. is providing support for an Open Source implementation of L2TP. This technology will have very important effects upon the way remote access is handled. The final product will be distributed under the terms of the GNU GPL. Commercial support may be provided by Adtran and others, if commercially feasable. If you’re interested in commercial support, e-mail Mark Spencer.
The focus is primarily on creating an LNS since this is where the most work needs to be done, however l2tpd currently has LAC functionality as well. The L2TP daemon is a technology which is necessary for enabling the widespread use of L2TP.
The initial work is being done on RedHat Linux 5.0 and will consist of a completely userspace program which will act as a “front end” to pppd. The goal of the first release will be to achieve functionality with portablility to other UNIX operating systems. FreeBSD is also supported, but relatively untested.
The second release will be a heavily kernel based implementation. Although this part will be fairly specific to Linux (we will still encourage porting the new system to other OS’s, of course), we believe we will achieve optimal performance.

Why a free implementation?

Free software such as the Linux OS and the Apache web server have shown themselves to be among the fastest and most stable products available. Adtran is supporting this free software effort. This project will benefit from the open development model since there is widespread industry interest in this technology. We encourage other companies to support this effort.

How far along is the project?

As of May 9, we have well running code, and an alpha release is expected in the coming weeks, after some more interoperability testing.
However, there are many remaining TODO’s:
Rate Adaptive Timeouts
Support for initial/final LCP states]
Proxy authentication
Do something with private groups (?)
Kernel work (for the second release)

How can I participate?

There are several ways you can participate, and you don’t have to be a programmer to contribute.
Tell us what kind of features you would like to have
Give us a few words of support
Individual contributors are welcome, and/or get you company to support our work as Adtran does.
Provide resources for interoperability testing
If you would like to do some actual coding, a CVS tree has been setup to allow multiple programmers to work with the sources. For more information on access to the CVS tree, you may mail me, Mark Spencer.

How can I remain updated? Where can I find more information?

The best thing you can do is to join the l2tpd mailing list by sending mail to with the word “subscribe” in the body.
The mailing list will be archived here.
Corporate Sponsors
Adtran designs, develops, and manufactures ADvanced TRANsmission products for high speed digital communications products
Midnight Networks develops interoperability and remote access test systems, testing performance and capacity, to internetworking vendors, ISPs, telecommunications companies, and network managers. products
Nortel is a leading global provider of communications network solutions products
Pulsecom is a telecommunications solutions provider specializing in telephony technology both domestic and international, and data access products.

Project: Improved dialup to Auburn

Why would I want this?

I don’t know how many of you have tried dialing into Auburn, but you probably find there are some serious limitations, some of which are:

Auburn’s dialups frequently busy when you want it, although it’s not as bad as it used to be
DUC’s modems only support up to 14.4k so if you have a better modem you can’t take advantage
DUC does not offer PPP or SLIP connections, so you can’t run Netscape and such from home.
Now if you call DUC and ask them about this, they will probably tell you there are a couple of options, namely:

Get MCI’s AU-Access (but of course, this costs money)
If you’re bold, try using SLURP or some other SLIP emulator (but they’re hard to setup, don’t work with all applications, and are still very slow.

What do I need?

So, I’ve come up with a way to allow you to do your own dialup with home, completely bypassing DUC and those wretched Xyplexes. In order for this to work, you must have a computer at the University that is on the Auburn network and meets a few simple requirements:

It must be an IBM compatible machine, 386 or better, with at least 8 MB of RAM
It must have a modem in it. At least a 14.4k modem if you wish to do PPP and run Netscape
25 MB of hard drive space for a local install OR 400k (yes, a floppy disk is fine) for a network install (the better method anyway)
At home, you can use any computer that you use to dial up to the University. If you wish to use Netscape or other graphical applications, you will need a reasonably fast machine at home. Your home computer can be a Macintosh without any problems.

What do I get out of it?

If everything goes according to plan, you be able to dial directly into your office computer and:

Bypass the Xyplexes entirely. No more busy signals.
Have text based dialup. If you wish, you can use only a text based communications program to access your office computer and the Internet, as you normally do through Auburn.
Have PPP based dialup. You can use Netscape, IRC, FTP, and just about any network application from home without the expense of AU-access

Great, so how do I get it?

Eventually, I will release a stand alone version of the software that any reasonably experienced user can install. For now, you should contact me and tell me you’re interested. I’ll be glad to go by your office and evaluate whether your computer qualifies for this software for no charge, and go over the details of its setup and use. If your computer does qualify and you would like to have me install the software, I will be able to do that for a reasonable charge (I am a student, after all). If you wish to install the software yourself, you can arrange to get a copy of the software from me at no charge, of course.

Just curious, how does this all work?

Only the technically literate and curious should read this part. If you don’t know much about networking, this will probably sound like gibberish and will confuse you. The arrangement of this scenario is a network slight-of-hand. It is Linux of course (if you’ve read the main marko page) which allows this to be done.

Essentially, here is what happens:
A minimal Linux installation is put on the host computer. Preferably, this consists only of a Linux kernel and boot loader, as the entire filesystem can be run off the network.
A client machine dials up the host. A special “getty” program called “mgetty” detects the ringing and makes a note of it. The host machine does not know whether this is a human or a computer calling.
The client machine hangs up, waits 15 to 30 seconds, then immediately calls back.
With the second set of ringing, the host knows this is a computer calling and establishes a connection to the client machine
A “login” prompt is presented to the user at the client machine. The user may login with a predetermined username and password, and then proceed to telnet ftp, or use lynx to any location on the net.
If a valid PPP packet is received instead of the user logging in, the client and host machines negotiate a PPP connection using the IP addresses and, which have already been assigned for computers not on the Internet.
The host machine then masquerades the client machine so that all activity appears to be happenning on the host.

Frequently Asked Questions

Q: Do you do requests?

A: No. However, my roommate does, or you may mail me what you’d like to see me do on the camera for my own personal entertainment.

Update: My new roommate (Mr. X, he wants to be called) is willing to go down to his underwear for money. Since he’s not really computer literate, just send me the info, I guess, and I’ll pass it on…

Q: Do you ever turn the camera off?

A: Almost never, but often, I turn it at something less controversial than my roommate coming out of the shower, for example.

Q: Is your name really Marko?

A: Nope. It’s simply Mark. Marko is my computer, based on a nickname I had in high school

Q: Where do you live?

A: I live in Auburn, Alabama, where I am attending Auburn University

Q: Are you rich?

A: No, but I have a job working for Adtran and the Auburn City Schools

Q: Are you really in a dorm with roommates?

A: Yes. My roommate is Mr. X. He has no email.

Q: How long have you had the camera setup?

A: Since February, 1997

Q: Is your dorm co-ed?

A: Well, to the maximum that Auburn allows. Basically, it’s co-ed by floors. One floor guys, one girls, etc.

Q: Where are you?

A: In class, at work, how should I know? What, you think I’m just here to entertain all of you?

Q: Why did you set this all up?

A: I have no idea.

Q: Have you ever dated someone you met through your website?

A: Nope. I’ve met one or two in real life, but that’s about it.

Q: Do you have “regulars” who hang out longer than you consider healthy?

A: Well, if you check out the statistics page keep in mind that all the entries from are from one person. I make no judgements about what’s healthy or not. Hey, I’m an engineer, not a psychiatrist.

Q: Have you ever received marriage proposals thorugh your site?

A: No, but I’ve received proposals for quite a variety of other things, not necessarily appropriate for this FAQ

Q: You have this smile on your face that looks like you are either slightly amused or extremely irritated by my questions…which one is it?

A: I am very much amused… If I’m annoyed, I’ll put you on my ban list. I can ban people from seeing the camera. Presently, there are no entries on my ban list

Q: Is your Mother online and can she see into your dorm room?

A: Yes, she’s online ocasionally, but she knows its too messy for her tastes so she doesn’t visit virtually or in real life

Q: How do I ask you a question?

A: Send me mail.

Q: Do you prefer boxers or a briefs?

A: I don’t typically answer such personal questions, but I’ll admit a preference for boxers.

Q: How often have you been asked the previous question?

A: Thrice, but I’ve been asked this question about 12 times.