Annotation of embedaddon/libnet/doc/man/man3/libnet.3, revision 1.1.1.1
1.1 misho 1: .\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35)
2: .\"
3: .\" Standard preamble:
4: .\" ========================================================================
5: .de Sp \" Vertical space (when we can't use .PP)
6: .if t .sp .5v
7: .if n .sp
8: ..
9: .de Vb \" Begin verbatim text
10: .ft CW
11: .nf
12: .ne \\$1
13: ..
14: .de Ve \" End verbatim text
15: .ft R
16: .fi
17: ..
18: .\" Set up some character translations and predefined strings. \*(-- will
19: .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20: .\" double quote, and \*(R" will give a right double quote. \*(C+ will
21: .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
22: .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
23: .\" nothing in troff, for use with C<>.
24: .tr \(*W-
25: .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26: .ie n \{\
27: . ds -- \(*W-
28: . ds PI pi
29: . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30: . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
31: . ds L" ""
32: . ds R" ""
33: . ds C` ""
34: . ds C' ""
35: 'br\}
36: .el\{\
37: . ds -- \|\(em\|
38: . ds PI \(*p
39: . ds L" ``
40: . ds R" ''
41: . ds C`
42: . ds C'
43: 'br\}
44: .\"
45: .\" Escape single quotes in literal strings from groff's Unicode transform.
46: .ie \n(.g .ds Aq \(aq
47: .el .ds Aq '
48: .\"
49: .\" If the F register is >0, we'll generate index entries on stderr for
50: .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
51: .\" entries marked with X<> in POD. Of course, you'll have to process the
52: .\" output yourself in some meaningful fashion.
53: .\"
54: .\" Avoid warning from groff about undefined register 'F'.
55: .de IX
56: ..
57: .nr rF 0
58: .if \n(.g .if rF .nr rF 1
59: .if (\n(rF:(\n(.g==0)) \{\
60: . if \nF \{\
61: . de IX
62: . tm Index:\\$1\t\\n%\t"\\$2"
63: ..
64: . if !\nF==2 \{\
65: . nr % 0
66: . nr F 2
67: . \}
68: . \}
69: .\}
70: .rr rF
71: .\"
72: .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
73: .\" Fear. Run. Save yourself. No user-serviceable parts.
74: . \" fudge factors for nroff and troff
75: .if n \{\
76: . ds #H 0
77: . ds #V .8m
78: . ds #F .3m
79: . ds #[ \f1
80: . ds #] \fP
81: .\}
82: .if t \{\
83: . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
84: . ds #V .6m
85: . ds #F 0
86: . ds #[ \&
87: . ds #] \&
88: .\}
89: . \" simple accents for nroff and troff
90: .if n \{\
91: . ds ' \&
92: . ds ` \&
93: . ds ^ \&
94: . ds , \&
95: . ds ~ ~
96: . ds /
97: .\}
98: .if t \{\
99: . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
100: . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
101: . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
102: . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
103: . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
104: . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
105: .\}
106: . \" troff and (daisy-wheel) nroff accents
107: .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
108: .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
109: .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
110: .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
111: .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
112: .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
113: .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
114: .ds ae a\h'-(\w'a'u*4/10)'e
115: .ds Ae A\h'-(\w'A'u*4/10)'E
116: . \" corrections for vroff
117: .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
118: .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
119: . \" for low resolution devices (crt and lpr)
120: .if \n(.H>23 .if \n(.V>19 \
121: \{\
122: . ds : e
123: . ds 8 ss
124: . ds o a
125: . ds d- d\h'-1'\(ga
126: . ds D- D\h'-1'\(hy
127: . ds th \o'bp'
128: . ds Th \o'LP'
129: . ds ae ae
130: . ds Ae AE
131: .\}
132: .rm #[ #] #H #V #F C
133: .\" ========================================================================
134: .\"
135: .IX Title "LIBNET 3"
136: .TH LIBNET 3 "ons okt 16 2019" "libnet-1.2" "libnet Programmers Guide"
137: .\" For nroff, turn off justification. Always turn off hyphenation; it makes
138: .\" way too many mistakes in technical documents.
139: .if n .ad l
140: .nh
141: .SH "NAME"
142: libnet \- A C library for packet creation and injection
143: .SH "SYNOPSIS"
144: .IX Header "SYNOPSIS"
145: \&\fB#include <libnet.h>\fR
146: .SH "DESCRIPTION"
147: .IX Header "DESCRIPTION"
148: libnet is a packet assembly library that provides a portable interface for
149: packet creation and injection.
150: .PP
151: It is a high-level \s-1API\s0 that allows an application programmer to construct and
152: inject network packets. libnet provides a simplified interface for low-level
153: network packet shaping, handling and injection.
154: .PP
155: libnet hides much of the tedium of packet creation from the application
156: programmer such as multiplexing, buffer management, arcane packet header
157: information, byte-ordering, OS-dependent issues, and much more. libnet features
158: portable packet creation interfaces at the \s-1IP\s0 and link layer, as well as a host
159: of supplementary and complementary functionality. Using libnet, quick and
160: simple packet assembly applications can be whipped up with little effort. With
161: a bit more time, more complex programs can be written (\fBtraceroute\fR\|(8) and
162: \&\fBping\fR\|(8) were easily rewritten using libnet and \fBpcap\fR\|(3).
163: .PP
164: When building applications with libnet we recommend using \fBpkg\-config\fR\|(1) to
165: detect the precense and required version of libnet. The \fBlibnet\-config\fR\|(1)
166: script is still bundled in the libnet distribution, but is considered to be
167: deprecated in favor of \fBpkg\-config\fR\|(1). Both can be used to get compiler and
168: linker flags of the installed libnet library, as well as provide other useful
169: information. For applications using \s-1GNU\s0 autotools, we recommend using the
170: \&\s-1PKG_PROG_PKG_CONFIG\s0 and \s-1PKG_CHECK_MODULES\s0 m4 macros.
171: .PP
172: \&\fB\s-1NOTE\s0\fR: If you are writing your application with libnet, include \fIlibnet.h\fR,
173: which will include any additional header for you, rather than including
174: \&\fIlibnet/libnet\-functions.h\fR, \fIlibnet/libnet\-macros.h\fR or any of the others.
175: .SH "BACKWARDS COMPATIBILITY"
176: .IX Header "BACKWARDS COMPATIBILITY"
177: Your old code (circa libnet \fB1.0.x\fR) \s-1WILL NOT WORK\s0 with libnet> \fB>=1.1.x\fR.
178: See \fBdoc/MIGRATION.md\fR for easy steps on porting your old code.
179: .SH "SEE ALSO"
180: .IX Header "SEE ALSO"
181: \&\fBpkg\-config\fR\|(1), \fBlibnet\-config\fR\|(1), \fBlibnet\-functions\fR\|(3), \fBlibnet\-macros\fR\|(3)
182: .SH "AUTHORS"
183: .IX Header "AUTHORS"
184: The original author of libnet is Mike D. Schiffman.
185: .PP
186: libnet has been maintained and extensively enhanced since 2009 by Sam Roberts.
187: It is currently maintained by the Libnet Maintainers at GitHub:
188: .PP
189: .Vb 1
190: \& <https://github.com/libnet/libnet>
191: .Ve
192: .SH "BUGS"
193: .IX Header "BUGS"
194: Suggestions, bug reports/fixes, and pull requests, see:
195: .PP
196: .Vb 1
197: \& <https://github.com/libnet/libnet/issues>
198: .Ve
199: .SH "COPYRIGHT"
200: .IX Header "COPYRIGHT"
201: libnet is licensed under the 3\-Clause \s-1BSD\s0 License.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>