IPCONFIG(8) BSD System Manager's Manual IPCONFIG(8)
NAME
ipconfig -- view and control IP configuration state
SYNOPSIS
ipconfig waitall
ipconfig getifaddr interface-name
ipconfig ifcount
ipconfig getoption interface-name (option-name option-code)
ipconfig getpacket interface-name
ipconfig set interface-name NONE
ipconfig set interface-name (DHCP BOTP)
ipconfig set interface-name (MANUAL INFORM) ip-address subnet-mask
ipconfig setverbose level
DESCRIPTION
ipconfig is a utility that communicates with the IPConfiguration agent to
retrieve and set IP configuration parameters. It should only be used in
a test and debug context. Using it for any other purpose is strongly
discouraged. Public API's in the SystemConfiguration framework are cur-
rently the only supported way to access and control the state of IPCon-
figuration.
The IPConfiguration agent is responsible for configuring and managing the
IP addresses on direct, connectionless interfaces such as IE 802.3 Eth-
ernet and IE 1394 FireWire. The IPConfiguration agent is a program
bundle that is loaded and executed by the configd(8) process.
The IPConfiguration agent implements the client side of the DHCP and
BOTP protocols described in RFC951, RFC1542, RFC2131, and RFC2132. It
also assigns and maintains static IP addresses. It may also allocate and
assign a link-local IP address if DHCP fails to acquire an IP address.
In all cases, the IPConfiguration agent performs IP address conflict
detection before assigning an IP address to an interface.
COMANDS
The ipconfig utility provides several commands:
waitall Blocks until all network services have completed configuring,
or have timed out in the process of configuring. This is
only useful for initial system start-up time synchronization
for legacy network services that are incapable of dealing
with dynamic network configuration changes.
getifaddr interface-name
Prints to standard output the IP address for the first net-
work service associated with the given interface. The output
will be empty if no service is currently configured or active
on the interface.
ifcount Prints the number of interfaces that IPConfiguration is capa-
ble of configuring. The value that's printed will not change
unless relevant network interfaces are either added to or
removed from the system.
getoption interface-name (option-name option-code)
Prints the BOTP/DHCP option with the given name or option
code integer value. See bootpd(8) for option code names. If
an option has multiple values e.g. domainnameserver, only
the first value is printed.
getpacket interface-name
Prints to standard output the DHCP/BOTP packet that the
client accepted from the DHCP/BOTP server. This command is
useful to check what the server provided, and whether the
values are sensible. This command outputs nothing if
DHCP/BOTP is not active on the interface, or the attempt to
acquire an IP address was unsuccessful.
set interface-name NONE
set interface-name (DHCP BOTP)
set interface-name (MANUAL INFORM) ip-address subnet-mask
Sets the interface to have a new temporary network service of
the given type. All existing services on the interface are
first de-configured before the new service is instantiated.
If NONE is supplied, no new service is instantiated.
DHCP and BOTP require no additional arguments. The IP
address, subnet mask, router, and DNS information are
retrieved automatically.
Both MANUAL and INFORM require the specification of an IP
address ip-address and a subnet mask subnet-mask.
The INFORM service configures the IP address statically like
MANUAL, but then broadcasts DHCP INFORM packets to retrieve
DHCP option information. If the DHCP server responds and sup-
plies a subnet mask, that subnet mask is used instead of the
specified subnet-mask.
The set command requires root privileges.
Note:: The set command is very useful for debugging, but it
can't be used to configure a persistent service. The tempo-
rary services that are created only remain until the next
network configuration change occurs. See scselect(8).
setverbose level
Sets verbose mode logging in the IPConfiguration agent. Spec-
ify a level value of 00 to disable verbose logging, the
default. Specify a value of 1 to enable verbose logging.
When enabled, useful debugging information is logged using
syslog(3) with level LOGNOTICE. In addition, the packet
trace file /var/log/com.apple.IPConfiguration.bootp is opened
and BOTP/DHCP packets that are sent and received are printed
to the file.
The setverbose command requires root privileges.
EXAMPLES
# ipconfig getpacket en0
op = BOTREPLY
htype = 1
dpflags = 0
hlen = 6
hops = 0
xid = 1956115059
secs = 0
ciaddr = 0.0.0.0
yiaddr = 192.168.4.10
siaddr = 192.168.4.1
giaddr = 0.0.0.0
chaddr = 0:3:93:7a:d7:5c
sname = dhcp.mycompany.net
file =
options:
Options count is 10
dhcpmessagetype (uint8): ACK 0x5
serveridentifier (ip): 192.168.4.1
leasetime (uint32): 0x164a
subnetmask (ip): 255.255.255.0
router (ipmult): {192.168.4.1}
domainnameserver (ipmult): {192.168.4.1}
domainname (string): mycompany.net
end (none):
# ipconfig getoption en0 router
192.168.4.1
SEE ALSO
configd(8), bootpd(8), scselect(8)
HISTORY
The ipconfig command first appeared in Mac OS X Version 10.0 Public Beta.
Mac OS X July 14, 2004 Mac OS X
|