Focus on Software

David A. Bandel

Issue #82, February 2001

pam_watch, multiscan, phpopenmonitor and more.

Last month I looked at the Microsoft way and the ugly specrte of a Linux registry. But we have to live with Microsoft (at least for the near term) for other incompatibilities as well. One of those is in printing. The Microsoft way is for every client to know everything about the printer it will be using, instead of the print server, which, under Microsoft, only queues jobs to the printer but doesn't format them. So what happens if you have to change out the printer (or upgrade to a newer one)? Well, you have to track down those several hundred clients and change each one individually. Linux allows you to do this silliness, if you really want to, with raw printers (no print filter usage). But you don't have to. If all Linux boxes that are print servers do the document formatting from generic postscript files, printing becomes a no-brainer. Just tell Word Perfect, et. al., to use a passthrough postscript driver. Windows systems can use the Apple 1200 postscript driver. Now you can print to any printer in the UNIX/Linux world, to fax machines and even send postscript files to friends to read and print (or turn into PDF files). No need to juggle 600+ printer drivers for all the world's printers on every client. Simplicity beats Microsoft because who needs more headaches?

pam_watch: http://frida.fri.utc.sk/~behan/devel/pam_watch/

Do you need to snoop on terminals? Perhaps show someone from afar how to accomplish a particular task? This utility will allow two users to watch and use the same terminal at one time, even continents apart. When used as a login session, pam_watch creates two pipes, one for input and one for output, that someone (usually root) can attach to. The only downside is that it won't work on ptys (used in X sessions and ssh sessions) or sessions spawned from the terminal. Requires: libpam, libdl, glibc.

multiscan: http://sourceforge.net/projects/multiscan/

I think we all know that nmap is good. But it's not fast, and it's a little heavy. If you need a quick scan of your own network to see which ports are open on which systems, and you need it yesterday, multiscan will tell you. I watched it rip through a Class C private network in no time. Granted, unreachable hosts slowed it down a lot, but reachable hosts showed all open ports at a pace of two hosts per second. That's fast. Requires: glibc.

phpopenmonitor: http://www.edomex.net/phpopenmonitor/

Do you need to be able to check a number of systems for open ports (running services) often and quickly? This utility won't take the place of nmap—you can't search for open ports. But if you list ports you want to be sure are open (or closed) and enter those next to the host name, you can see at a glance if all is well. It's quick and easy to set up and autorefreshes every five minutes (feel free to change that). Requires: web server, php4, web browser (capable of color output).

SQL-Ledger: http://www.sql-ledger.com/

After looking at this particular application, all I can say is Wow! Someone was reading my mind (now that's a scary thought). Take a PostgreSQL server, a little Perl, mix in a web server and all the ingredients for a good accounting program, and you have: SQL-Ledger. Okay, so I haven't checked to see if it's compliant with GAAP (Generally Accepted Accounting Procedures), and it's been years since my last accounting class, but this is good. It still lacks a few details, like POS (point-of-sale), but they're on the to-do list. With a program like this, who needs Quick Books? Requires: PostgreSQL, web server, Perl and Perl modules: DBD-Pg, DBI.

CCC: http://www.noguska.com/ccc/

CCC is not a general accounting program (although it could be used as one with some modifications); it does an excellent job of quantifying work for a computer maintenance shop. You can track jobs, technicians and systems. You can use the information to bill clients. If you need a simple job tracking/invoicing system, this could be what you need. Requires: MySQL, web server with PHP and MySQL support, web browser.

tvguide: www.cherrynebula.net/tvguide.html

Sound and video aren't usually my thing. Okay, so when I'm working on something I might listen to a little Pink Floyd—“Comfortably Numb” is good music to concentrate on a problem with. But I do like to keep an eye on the news, or whatever, something to do while a build (or two) is in progress. With tvguide, I can grab what's on the site quickly, grep it (or just read it) and tune in something interesting on my TV card. Might be a waste of good cycles, but they're often idle anyway. At least I don't miss as many football games. Requires: Perl.

pkgbuild: http://www.linuxsupportline.com/~davin/

If you need to build RPM packages, this little GUI tool can help you. While you still have to know how to build one, this utility makes a good aid. I will warn you that some particular incantations within the spec files are rejected. But if you start with a good template (that pkgbuild likes) you can go easily from there. This tool will not make you an RPM wizard, but it will force you to relook at how you structure your spec files (if you consider that a plus). Requires: libm, libSM, libICE, libXext, libX11, glibc.

sniffer: http://stev.org/

This utility will show you a great deal about what's happening on on your network in terms of the bandwidth you're consuming per minute, etc. You can see stats of TCP, UDP, ARP and other packets. You can switch between different displays. While only root can run it (unless you permit users to open raw sockets), it is a very handy tool. You can also see MAC addresses and a good guess of the Ethernet card brand. Requires: libpthread, libncurses, glibc.

Until next month.

David A. Bandel (dbandel@pananix.com) is a Linux/UNIX consultant currently living in the Republic of Panama. He is coauthor of Que Special Edition: Using Caldera OpenLinux.