/
sipcalc.txt
214 lines (180 loc) · 6.8 KB
/
sipcalc.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
Syntax: sipcalc [OPTIONS]... <[ADDRESS]... [INTERFACE]... | [-]>
Description of common output:
IPv4 -
Host address - The given host address.
Network address - The first address in a given range, unusable for
hosts under normal conditions.
Network mask - The network mask (netmask) used to specify the size
of a given subnet, usually represented in three
different formats:
dotted quad (xxx.xxx.xxx.xxx)
hex (0xnnnnnnnn)
bits (/n where n >= 0 <= 32)
Broadcast address - The broadcast address of a given subnet, usually
the last address in a range.
Cisco wildcard - The inverted value of the netmask
(netmask ^ 0xffffffff).
This value is commonly used in for example access-
lists on routers.
Addresses in network - The number of addresses in the given subnet.
Network range - The full subnet range.
Usable range - The range in the given subnet that is commonly used
for normal hosts.
IPv6 -
Expanded Address - The full expanded IPv6 address.
Compressed address - The IPv6 address compressed in the most efficient way
possible.
Subnet prefix - The prefix of the address (in relation to the
netmask), the suffix of the address is zeroed out.
Address ID - The suffix of the address (in relation to the
netmask), the prefix of the address is zeroed out.
Prefix address - The IPv6 equivalent of the IPv4 netmask.
Prefix length - Number of bits set in the netmask.
Address type - The address type as defined in RFC2373.
Comment - Some addresses will have comments from the author :)
Network range - The start and end addresses of the subnet.
Expanded v4inv6 address - The full expanded IPv6 address in v4inv6 format.
Compr. v4inv6 address - The compressed IPv6 address in v4inv6 format.
Reverse DNS - The address in IPv6 reverse DNS form.
Commandline options:
[OPTIONS]...
* -a, --all
Give all possible information about an adress or interface, this is
equivalent to giving the flags -b -c -i -n 0 for IPv4 and
-e -r -t for IPv6.
* -b, --cidr-bitmap (IPv4)
Show a CIDR based bitmap of the following output:
- host address
- network address
- network mask
- broadcast address
- cisco wildcard
- network range
- usable range
* -c, --classfull-addr (IPv4)
Show classfull address information for the following values:
- host address
- host address (decimal)
- host address (hex)
- network address
- network class
- network mask
- network mask (hex)
- broadcast address
* -d, --resolv
Enable DNS resolution of commandline hostnames, both IPv4 and IPv6 support
if present.
* -e, --v4inv6 (IPv6)
v4inv6 output for the following values:
- Expanded v4inv6 address
- Compr. v4inv6 address
- Comment
* -h, --help
Display the commandline help.
* -i, --cidr-addr (the default commandline option for IPv4) (IPv4)
Show CIDR address information for the following values:
- host address
- host address (decimal)
- host address (hex)
- network address
- network mask
- network mask (bits)
- network mask (hex)
- Broadcast address
- cisco wildcard
- addresses in network
- network range
- usable range
* -I, --addr-int=INT
Explicitly add an interface.
This can be used to circumvent the sipcalc "smart parsing" of addresses/
interfaces on the commandline. This can be useful if you for example
for some reason have an interface with the same name as an actual
address, eg. 127.0.0.1 or ::1 etc.
See also: -4 -6.
* -n, --subnets=NUM
Display NUM extra subnets (starting from the current subnet). Will display
all subnets in the current /24 if NUM is 0.
* -r, --v6rev (IPv6)
IPv6 reverse DNS output for the following values:
- Reverse DNS
* -s, --v4split=MASK (IPv4)
Split the current network into subnets of MASK size. MASK can be given in
dotted quad, hex or CIDR form, either with or without the '/' character.
* -S, --v6split=MASK (IPv6)
Split the current network into subnets of MASK size. MASK must be given in
CIDR form, either with or with the '/' character.
* -t, --v6-standard (IPv6)
Default IPv6 output containing the following values:
- Expanded Address
- Compressed address
- Subnet prefix (masked)
- Address ID (masked)
- Prefix address
- Prefix length
- Address type
- Network range
* -u --split-verbose
This will put network splitting into verbose mode.
This means that all the subnets generated when splitting a network will
be passed back to sipcalc for explicit parsing giving the same output
as if the address had been given on the commandline.
All options passed to sipcalc on the commandline will also be inherited
when the subnet is passed back to sipcalc for parsing, with one exception,
the -s/-S flag, we don't want an endless loop.
Sending only the -s/-S and -u flags to sipcalc will give the default output
(-i for ipv4 and -t for ipv6).
* -v, --version
Display sipcalc version.
* -w, --wildcard
Takes a cisco wildcard (inverse mask) and display the corresponding regular
netmask and netmask bit count.
* -x, --classful-bitmap (IPv4)
Show a classfull bitmap of the following output:
- network address
- network mask
* -4, --addr-ipv4=ADDR
Explicitly add an IPv4 address.
See also: -I -6.
* -6, --addr-ipv6=ADDR
Explicitly add an IPv6 address.
See also: -I -4.
<[ADDRESS]... [INTERFACE]... | [-]>
* address
IPv4 -
Address must be given in the "standard" dotted quad format, ie.:
xxx.xxx.xxx.xxx and prepended with a netmask the can be given in
three different ways:
- CIDR, ex. /n where n >= 0 <= 32.
- Dotted quad, ex. xxx.xxx.xxx.xxx.
- A hex value, ex 0xnnnnnnnn or nnnnnnnn.
IPv6 -
Addresses may be given in any of the forms defined in RFC2373, the netmask
must be given in CIDR notion.
Valid values for the netmask range from n >= 0 <= 128, default value if
netmask is omitted is 128.
Examples:
- 1:2:3:4:5:6:7:8
- 1:2:3:4:5:6:7:8/64
- ::1/64
- ::1.2.3.4/64
etc.
* interface
Instead of taking address information from the commandline sipcalc
can obtain relevant information by looking at a specified interface
on the system. Sipcalc then uses this information to calculate output
values.
This option currently only works for IPv4 addresses, work is being done
to support IPv6 here also.
* -
Further arguments will be read from stdin, this can be useful for example
for cat(1)'ing a list of addresses stored in a file to sipcalc.
Related documents:
RFC 1878: Variable Length Subnet Table For IPv4.
RFC 1517: Applicability Statement for the Implementation of CIDR.
RFC 1518: An Architecture for IP Address Allocation with CIDR.
RFC 1519: CIDR: An Address Assignment and Aggregation Strategy.
RFC 1520: Exchanging Routing Information Across Provider Boundaries
in the CIDR Environment.
RFC 2373: IP Version 6 Addressing Architecture.
RFC 2374: An IPv6 Aggregatable Global Unicast Address Format.