Scripts, Programs and One Liners
GIT ¦ Current ¦ Featured
¦ Reference ¦ Old ¦ Projects ¦
BSD ¦ Linux
I have written well over a few hundred scripts and programs;
most of which are (were) so specific to a particular system,
organization or function; they are utterly useless to the community
at large. In this section of the site is a collection of
programs/scripts that turned out to be somewhat useful or
programs/scripts which I intentionally wrote for myself and decided
to share. Not all of them are mine (or at least their original
incarnation), in addition to these I have some Source examples of various languages I have played
around with.
Git Copies
All of the code here that is currently in use or actively
developed can be found at a read only website with full copies
including the git information over at src.systhread.net. It can be
mirrored via wget.
Current or Maintained
The first batch is stuff I (try...) to maintain and improve
listed by order of creation (which is to say the activity is more
from the top down).
- netrecon (download
netrecon-1.79)
- A small utility that can actively scan, actively scan a single
ipv6 host/port, passively scan, run a mini tcpdumper and sniff arp packets.
More capabilities are added along with improvements and fixing over time.
- nettest-2.4 (download)
- The original nettest from Cray research (now owned by SGI) and unmaintained. Although there are
better (and more exotic to setup) tools out there,
nettest does a good job of showing stats between two
endpoints with very little muss and fuss. The current version is
stable and runs on several platforms.
- pwutils-0.5 (download)
- A small set of user and group reporting utilities designed to
demonstrate the flexibility of several languages for budding
programmers and sysadmins alike.
- etu-0.1.8 (download
- A utility that uses the Epeg and imlib2 API to create
thumbnails (extraordinarily fast). It can also daemonize and
refresh thumbnail directories making it a nice cli plugin for image
scaling.
- mmw-2.0 (download)
- Utility to show memory information in intervals and
periods.
- BSDbench 2.2 (download)
- A rewrite of the 4.4-BSD benchmark tools. Useful for creating
loads on a BSD system which a lot of people still like to use from
time to time .
Featured
Believe it or not (trust me even I am stunned) some of my own
software has managed to creep its way out to other places.
Following are some examples of where I found mention of it lurking
about:
netward
netreconn
Reference Code (from texts/demos)
- portcheck (download)
- The micro single port single host portcheck program that was
written (and is updated with) the series about writing said program
at this site. This particular program is both useful to learn about
network connection programming and a decent little utility.
- uhttpd (download)
- Tiny httpd server grokked from an IBM developer article. It is
a neat little bit of demonstration code that budding programmers
might be interested in playing with.
- usniff (download)
- Another text reference program this is a tiny tcpv4 ultra
simple packet sniffer for the curious. Usniff is good for places
where one might not want the overhead of tcpdump or for those
simply interested in writing their own - it is great demonstration
code.
Discontinued or Unmaintained
The following are scripts and programs that have either reached
end of life, been superceded or just do not really require
maintenance but are still useful.
- netward-1.0 (download)
- Psuedo-replacement for portsentry which sniffs out packets that
are not specified on ports by the user as being valid and currently
will log them. It works using a sample rate of packets and
threshold.
- gnetscan-1.6 (download-stable)
- Original fast portscanner moved to
netreconn:
ip4map.
- dusage (view/download)
- Simple disk usage script.
- newsfetch-1.4 (download)
- A small program that fetches netnews.
- service-0.5 (download)
- A multi-platform service start, stop and/or restart utility
that is basically cloned from the redhat utility of the same
name.
- lscpu-1.8 (download)
- Small utility to fetch processor information on Linux.
- diskinfo-1.9 (download)
- Gets information about specified
ide disk.
- user-0.2 (download)
- A small collection of portable user reporting scripts and
programs. The user tools have been migrated to the
pwutils package.
- puserinfo-2.1 (view/download)
- BSD userinfo clone in Perl- superceded by the user
package.
- qtop (view/download)
- A nicer top viewer - requires no maintenance.
- whodo (view/download)
- Who is doing what program - requires no maintenance.
- nukems (view/download)
- Get rid of CTRL-Ms from DOS files - redundant.
- service-0.5 (download)
- This is the original in Perl
which I moved to scripts
and redid in
sh.
The Complete List
Following is a complete list of software worked on, some of
which is hosted here, but definitely not all of it (kernel hacking
comes to mind ...).
Dnet and Nmap
I am a committer for libdnet and have been working on Nmap as well.
A few of the notable things I have worked on are:
- With a lot of help, migrated payloads from source into a file allowing
simple addition/removal of UDP payloads
- Integration of BSD patches into Nmap mainline
- Socket size bugfix for Nmap
- Integrating many Nmap changes to dnet into dnet mainline
- various platform testing of both
Misc
- Updated and ported the
nettest utility originally
written by Cray Research (now SGI's Cray division... sort
of). Basically it just had some stale API calls - not really a big
deal.
- Wrote a service utility to stop/restart services on NetBSD,
Slackware Linux, HP-UX and SunOS. It also will print out where the
real service scripts are located so as not to stupify the
sysadmin.
- Rewrote/updated the 4.4 BSD Benchmark tools. Surprisingly, a
lot of people like to use these in tandem with profiling.
- Original code for interrupt.pl module now hosted at CPAN.
- emanage.sh, e17 build and cvs script partially based on
NetBSD's build.sh front end and my own iso creation scripts.
- Tookover sheparding of the newsfetch program.
NetBSD
I am still an active NetBSD
developer and occasionally work on bits here and there. I
especially like build testing... I do not know why.
- Added the capability to automatically create iso images from
the build/make infrastructure using the build front end. This was a
combination of shell scripting and make changes.
- Co-wrote the verified executable NetBSD kernel modification
based on proof of concept code; specifically the actual interface
from the check_exec() routine over to all of the vexec routines and
modularized the code.
- Wrote enhancements to BSD file utilities such as verbosity and
syncing (where reasonable) with the behavior of FreeBSD's
utils.
- Trouble-shot and patched network utility code for more correct
handling of classless IPs.
- Wholesale import of
whois to replace a burgeoning
version.
- Backported ahc scsi drivers for a contractor who needed them on
the 1.6 kernel series.
- Did several code sweeps and test builds to get rid of older
type declarations within the kernel where possible.
Linux
- Forward ported a set of Broadcom network drivers from an older
kernel to a newer one. Had to rewrite portions of the interface and
framework
glue
to get it to work right.
- Oracle on Linux patching for automatic parameter setting. This
is now obsolete as the information is well documented.
- A kernel module that gathered statistics regarding
performance.
- Wrote and maintain a set of utilities I found useful (listed
above) such as cpuinfo, mmw and diskinfo.
Whats Missing?
Basically anything I cannot remember since the last time I
updated this page. I have also written a lot of internal software I
deemed pretty much useless to the outside world because it was so
specific. Such projects ranged from archival systems to daemon
processes.