ipv6sniff - Internet Protocol Version 6 (IPv6) search and
analysis tool
/usr/sbin/ipv6sniff [-cehlostV] [-f configfile] [-C
cfile...] [-Jsearch] [-L logfile] [-O ofile...] [-P logfile]
[-S scripts...] [-T textfile...] files...
Enables the scanning of C language source files. This is
the default. Activates the edit phase for examining
results. This is the default. Displays the ipv6sniff command
synopsis. Specifies that the editor (defined by the
EDITOR environment variable) accepts line number arguments.
For example, emacs +10 hello.c. Enables the scanning
of object file symbol tables. This is the default.
Enables the scanning of shell scripts. This is the
default. Enables the scanning of text files. This is the
default. Displays the ipv6sniff version number. Specifies
the name of a configuration file from which to read
settings. Specifies one or more C language files. The
file names are separated by a blank space. Specifies that
ipv6sniff omit one of the following processing steps as
specified by search: Does not scan C language source
files. Does not enter the edit phase in order for you to
examine results. Does not scan object file symbol tables.
Does not scan shell scripts. Does not scan text files.
Specifies the name of a log file in which to store
ipv6sniff results. Specifies one or more object files.
The file names are separated by a blank space. Specifies
the name of a log file to read. The ipv6sniff tool skips
all scan and analysis phases, and proceeds directly to the
edit phase. This is useful for examining or re-examining
the contents of a log file after ipv6sniff execution has
completed (see the -L option). Specifies one or more
script files. The file names are separated by a blank
space. Specifies one or more text files. The file names
are separated by a blank space.
Specifies one or more files to scan. This is in addition
to any files specified by the -C, -E, -O, -S, and -T
options.
The ipv6sniff tool searches one or more files to assist
you in locating potential IPv6 porting issues. The tool
searches for the following: IPv4-only socket usage and
options IPv4 name and address resolution
When the tool has completed its search, it sorts and
reports the results.
Note
Because the ipv6sniff tool enables you to change source
files, create a backup copy of all files before using the
tool.
The ipv6sniff tool has two main phases: scan and edit.
Scan Phase [Toc] [Back]
The ipv6sniff tool provides default search lists for C
source files, shell scripts, text files, and object files.
These lists are used to scan each file or its symbol table
for tokens in the default search list. The default search
lists are defined in the listcustom.h header file in the
following array variables:
default_Clist, default_Slist, default_Tlist
The default_Clist is also used for object files during the
scan phase. You can customize each search list by specifying
the -f option and adding appropriate entries to the
configuration file (configfile) as described in the "Configuration
File" section.
By default, the ipv6sniff tool attempts to determine the
file type and perform the appropriate scan accordingly.
However, it has similar limitations to the file command in
determining file types, particularly with text-based
files. In order to ensure that files are scanned correctly,
use the -T, -C, -S, and -O options when specifying
files.
Although a default search list is provided for C source
files, you can scan other source files by adding appropriate
search tokens under the Tlist: section header in the
configuration file (configfile) and specifying the -T
option for those source files. See the "Configuration
File" section for information on adding search tokens.
Object files that have not been stripped are scanned by
searching their symbol tables for references to default
search tokens or tokens specified under the Clist: section
header in the configuration file (configfile). See the
"Configuration File" section for information on adding
search tokens.
The -J option allows the user to skip sections of the scan
phase or the edit phase. For example, specifying -Jc on
the command line eliminates the scanning of C source
files.
The following search tokens are most commonly associated
with porting network applications, and are included in the
default list:
AF_INET
PF_INET
INADDR_ANY
struct in_addr
struct sockaddr_in
struct sockaddr
struct hostent
getipnodebyaddr
getipnodebyname
gethostname
gethostbyname
gethostbyaddr
socket
connect
inet_ntoa
inet_addr
inet_pton
inet_ntop
If any of these tokens are found during the scan phase,
the tool records each instance by line number, filename,
and token. You can interpret the record file in the edit
phase or specify the -L option when you invoke ipv6sniff
to save the record file.
Edit Phase [Toc] [Back]
The ipv6sniff edit phase enables you to examine the
results of the scan phase. This phase provides text-based
menu options for displaying each search record found and
allows affected files to be opened to appropriate lines in
the editor of your choice.
The ipv6sniff tool uses the EDITOR environment variable to
determine your editor. Some editors (for example, emacs)
allow you to specify line numbers on the command line in
the form +line_num in order to open the file and position
the cursor on that line. If you are running emacs or vi,
this happens automatically. However, other editors do not
allow this, and might be confused by line number specifications.
Therefore, if you are using an editor (other than
emacs or vi) that supports command line number specification,
use the -l option to tell ipv6sniff to pass line
number information to your editor.
You can skip the edit phase by specifying the -Je option.
This is useful when you specify the -L option to save
results to a log file for future examination. You can then
specify the -P option along with a log file name that contains
previous ipv6sniff results in order to skip all
search and analysis phases and only examine the log file
contents.
The edit phase also allows you to open a Web browser and
view porting information related to the result that is
being examined. See the Network Programmer's Guide for
additional information on porting network applications.
Specifying a Log File [Toc] [Back]
The -L option enables you to specify the name of a log
file into which to store the ipv6sniff results. This
allows you to view the records in the log file at a later
time. The log file is a text file. You can examine this
file by using a text editor or by specifying the -P
option. The -P option skips all other ipv6sniff phases and
only processes the specified log file using the edit
phase.
Specifying a Configuration File [Toc] [Back]
To customize search and run-time analysis options for
ipv6sniff, you can specify a configuration file by using
the -f option. If you do not specify a configuration file,
ipv6sniff will use the default list of tokens. The syntax
of a configuration file is as follows:
:SectionHeader "Token", "Token",
. . .
You specify search tokens, one on each line, under the
section headers. Enclose each token in quotation marks ("
") and place a comma (,) after each one. The section headers
are as follows: Specifies a list of tokens to search
for when scanning C source files and object file or executable
symbol tables. Specifies a list of tokens to
search for when scanning text files. List of tokens to
search for when scanning shell scripts.
The following is a sample ipv6sniff configuration file:
:Clist "AF_INET", "PF_INET", "INADDR_ANY", "in_addr",
"sockaddr_in", "sockaddr", "hostent", "getipnodebyaddr",
"getipnodebyname", "gethostname", "gethostbyname", "gethostbyaddr",
"socket", "connect", "inet_ntoa", "inet_addr",
"inet_pton", "inet_ntop", :Tlist :Slist
Files: ip(7)
Network Programmer's Guide
ipv6sniff(8)
[ Back ] |