ipv6sniff(8)ipv6sniff(8)NAMEipv6sniff - Internet Protocol Version 6 (IPv6) search and analysis tool
SYNOPSIS
/usr/sbin/ipv6sniff [-cehlostV] [-f configfile] [-C cfile...]
[-Jsearch] [-L logfile] [-O ofile...] [-P logfile] [-S scripts...] [-T
textfile...] files...
OPTIONS
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 argu‐
ments. 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.
PARAMETERS
Specifies one or more files to scan. This is in addition to any files
specified by the -C, -E, -O, -S, and -T options.
DESCRIPTION
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
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 limi‐
tations to the file command in determining file types, particularly
with text-based files. In order to ensure that files are scanned cor‐
rectly, 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 speci‐
fying 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 speci‐
fied under the Clist: section header in the configuration file (config‐
file). 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
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 appropri‐
ate 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 com‐
mand 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 use‐
ful 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 Net‐
work Programmer's Guide for additional information on porting network
applications.
Specifying a Log File
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 pro‐
cesses the specified log file using the edit phase.
Specifying a Configuration File
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.
EXAMPLES
The following is a sample ipv6sniff configuration file:
:Clist "AF_INET", "PF_INET", "INADDR_ANY", "in_addr", "sockaddr_in",
"sockaddr", "hostent", "getipnodebyaddr", "getipnodebyname", "gethost‐
name", "gethostbyname", "gethostbyaddr", "socket", "connect",
"inet_ntoa", "inet_addr", "inet_pton", "inet_ntop", :Tlist :Slist
SEE ALSO
Files: ip(7)
Network Programmer's Guide
ipv6sniff(8)