Programming the Network with Perl: A Book Review

 in
Clear writing and useful examples characterize this book for non-Perl experts looking to manipulate networks.

Title: Programming the Network with PerlAuthor: Paul BarryPublisher: John Wiley & Sons, Ltd.URL: glasnost.itcarlow.ie/~pnb/index.html

The focus of Programming the Network with Perl, by Paul Barry, is the network infrastructure: packets and protocols. Perl is the tool that he uses to illustrate and manipulate the network.

Mr. Barry is a lecturer on Computer Networking at the Institute of Technology, Carlow in Ireland. His book is based upon his experiences using Perl to teach students how to program and debug network communications. He uses Perl for this so that students can devote more time to understanding the network instead of working to understand a difficult programming language.

The book consists of six chapters and five appendices. Each chapter starts by explaining the purpose of the material that will be presented. Then a sample application is presented and refined as the chapter progresses with an explanation of why each change was made. Each chapter ends with a list of web and print resources for further study and a set of exercises to test the reader's understanding of the chapter.

The applications in the book make use of several Perl modules available from CPAN as the underpinnings for network manipulation. You don't have to be a Perl expert to use this book, however. This first chapter offers a brief but useful introduction to Perl for non-Perl programmers. In addition, the programs in the book showcase useful code, such as writing to a log file and forking a process.

The second chapter covers installing the Perl modules required to work with network packets and then explains how to build a network sniffer. The sniffer application undergoes several refinements until it becomes a full-fledged network diagnostic and logging tool.

The next two chapters cover network programming with sockets and common protocols. Example programs illustrate the differences between sending data with UDP and TCP transport mechanisms. Other programs make use of the HTTP, SMTP, NNTP and Telnet protocols.

Chapter 5 deals with using Perl to manage network devices with ICMP (Internet Control Message Protocol) and SNMP(Simple Network Management Protocol). The bulk of the chapter discusses SNMP and using Perl's Net::SNMP module.

In the final chapter Mobile Agents are discussed. Mobile Agents are a combination of program and state data that can move to a machine over the network, execute on that machine and then move again. This is different than the typical client-server method, where a program runs on one machine and requests data from other machines.

My few complaints with the book really don't have anything to do with the material itself. Mr. Barry provides short instructions for downloading and installing Perl modules by hand, but he doesn't mention using Perl's CPAN module to do this automatically. I had difficulty installing the modules by hand on my machine, but I was able to get everything installed using the CPAN module. Offering this method as well in the book might help other people.

I also had some difficulty matching the sample programs downloaded from the author's web site with the programs presented in the text. In the book the program listings are broken up by text, which can make them difficult to enter. Perhaps a single program listing with a caption that matches the filenames of the downloaded programs, or at least a standard header comment in the listings supplying the program name, would help.

Programming the Network with Perl is meant to teach a programmer how to program network applications and understand the underlying network transport mechanisms. Perl is the tool by which this is accomplished. Mr. Barry provides plenty of clear explanation for each topic that he covers.

Ralph Krause (www.netperson.net/~rkrause) is a writer, computer programmer and webmaster who lives in Michigan. He has been tinkering with computers for the past 20 years and with Linux for over three years.

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Programming the Network with Perl: A Book Review

Anonymous's picture

How does it compare to the book from L.D. Stein, "Network programming in Perl"?

Re: Comparing Books

barryp's picture

A (short) interview with Paul Barry is here, and this question comes up.

Compared to L. Stein's book??

barryp's picture

Please see the discussion on this very topic on the use.perl.org website. Thanks.

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix