PING is one of those handy TCP/IP utilities that performs a basic function on the Internet: verifying whether a device is active and able to exchange TCP/IP traffic. It's a useful but limited tool that's available on any machine that's configured for TCP/IP communications, including AS/400 and iSeries machines.
But there are things PING can't do that are needed in an OS/400 environment, particularly verifying whether Client Access host socket servers are available to a TCP/IP client. These host servers run daemon programs that service Client Access requests for sign-on security, file serving, printing, Telnet, ODBC transfers, remote commands, Management Central and more. If those servers aren't active and available over a TCP/IP network, your Client Access requests will fail.
To troubleshoot and verify whether your Client Access host servers are active, IBM provides the CWBPING utility with Client Access Express for Windows V5R1. (CWBPING is also available with earlier versions of Client Access Express for Windows as well as with Client Access for Windows 95/NT, but its full functionality is contained in Express client V5R1M0.) CWBPING is a DOS-prompt utility for verifying host server connections, and it doesn't require a Client Access license to use or distribute. Here's how it works.
Like PING, CWBPING is invoked from a DOS command line by using the IP address or DNS name of your target AS/400 or iSeries system as follows:
CWBPING ip_address or host_name
Using CWBPING without any parameters attempts to connect your PC to the target system and check whether the most common Client Access host servers are available from that client. A number of connection messages will scroll down your screen, telling you whether the PC could reach each server. A Client Access PC5250 session doesn't need to be active to run CWBPING, and if a successful connection cannot be made to one of the servers, it indicates there is a problem between your PC and your target OS/400 system. If you then need to restart your Client Access servers from OS/400, you can use the End Host Server (ENDHOSTSVR) and Start Host Server (STRHOSTSVR) commands as follows:
In addition, you can also selectively start and end individual host servers by changing the values in the SERVER parameter list of the STRHOSTSVR command. (Press F1 on this parameter to get a list of server values.) Host servers can also be controlled inside Operations Navigator by opening the Network-Servers-Client Access node and selecting Start or Stop from the pop-up menu that appears when you right-click on a particular server.
But CWBPING does more than simple host server verification. CWBPING's syntax also contains a list of parameters that allow you to change the program's connection values for SSL connectivity, verify individual TCP/IP servers, check the availability of specific TCP/IP ports, or pass in an OS/400 user ID and password if the server requires it. To tell CWBPING to use one of these additional parameters, simply add the desired parameter(s) to the end of your CWBPING command, as follows:
CWBPING ip_address or host_name [parameter list]
Several parameters can be added to a CWBPING statement to tell the program just what server you want to verify and to add any specific processing for verifying a service. Here's a list of CWBPING parameters you can use for OS/400 server verification, and the function each parameter performs.
- /all -- CWBPING attempts to verify all possible Client Access socket servers. By default, only the most common servers are verified. Note, however, that there are some Client Access servers that are not available in each OS/400 release. Therefore, you may receive some warning messages if CWBPING uses /all to contact a server that doesn't exist on your system.
- /at:n -- Specifies the address mode used by CWBPING. The address mode determines how often CWBPING should retrieve the IP address for a particular host name. (n=0 always retrieves the IP address; n=1 retrieves it one hour after the last lookup; n=2 retrieves it one day after the last lookup; n=3 retrieves it after one week; n=4 tells CWBPING not to retrieve the address because it's using a configured IP address; and n=5 tells CWBPING to look up a particular IP address only once after the PC is restarted.) Note, however, that the /at:n parameter is ignored when CWBPING is called with a direct IP address.
- /pl:n -- Specifies how CWBPING looks up the port numbers of the servers the program is verifying. (n=0 uses the Server services file for port number identification; n=1 uses the Local services file; n=2 uses standard ports for each service.) Note that if you tell CWBPING to verify services on a particular port by using the /port:n parameter, the /pl:n parameter will be ignored.
- /password:password -- Sends a password to the server if the server requires user ID and password verification before answering.
- /port:n -- Tells CWBPING to contact a service residing on a TCP/IP port designated by n (ex, 23=Telnet). This is handy to continue verification if your security administrator changes port numbers for a popular service, such as Telnet, after hackers have threatened a system.
- /serv:name -- Tells CWBPING to verify whether a particular host access or TCP/IP server is available. To retrieve the exact names of the Client Access host servers for this command, run the following CWBPING command in verbose mode:
CWBPING ip_address or host_name /v
You can also use the /serv:name parameter to verify whether non-Client Access TCP/IP servers, such as FTP or Telnet, are active. Simply put the OS/400 name of the target TCP/IP server in the name area of the /serv:name parameter.
- /ssl:n -- Enables or disables Secure Sockets for use with CWBPING (n=1 enables SSL; n=2 disables SSL).
- /timeout:n -- Changes the connection timeout for contacted servers to the number of seconds specified in n (where n=0-3600).
- /userid:userid -- Sends a user ID to the server if the server requires user ID and password verification before answering.
- /v -- Displays verbose (detailed) messages. Verbose mode is useful if you want to list out the service name of each server for use with the /serv:name parameter.
CWBPING is a handy tool to keep in mind when you need to verify your host server connections. It's something to keep in mind the next time you have problems connecting a Client Access Windows PC to your AS/400 or iSeries.
About the author: Joe Hertvik is an IT professional and freelance writer who has been working with OS/400 since the days of the System/38 in the mid-1980s. Joe can be reached at email@example.com.
- Managing TCP/IP connections: Use one of IBM's utilities to help you manage your TCP/IP connections.
- Ending the correct TCP/IP connection: When you have several TCP/IP connections, this tip can quickly help you find the one you need to terminate.
- OS/400 Discussion Forum: Post your questions, and get answers from other iSeries users as well as search400 experts.
- Search400's Best Web Links on Systems Management