A development system providing a Custom Attack Simulation Language (CASL)
for testing networks is described. In particular, the development system
implements methodology for facilitating development of network attack
simulations. The system includes an editor or authoring system for
creating a source code description or Scripts (i.e., CASL-syntax Script)
of the simulation program under development. The Scripts, in turn, are
"compiled" by a CASL compiler into a compiled CASL program, that may then
be used to simulate attacks against a network. CASL makes it easier for
users, particularly network and system administrators, to experiment with
and learn about the way their networks operate. Since networks work by
exchanging packets of information, CASL focuses on allowing users to read
and write packets directly to and from the network using a high level
programming language. Unlike general-purpose scripting languages, CASL is
designed specifically to make it easy to construct, read, and write raw
network packets. In this manner, the system provides an extremely flexible
and general way to manipulate networks and allows one to create simulation
programs in just a few lines of CASL code, instead of hundreds of lines of
code typically required when using conventional programming language
environments.