icmp man page on OpenBSD

Man page or keyword search:  
man Server   11362 pages
apropos Keyword Search (all sections)
Output format
OpenBSD logo
[printable version]

ICMP(4)			  OpenBSD Programmer's Manual		       ICMP(4)

NAME
     icmp - Internet Control Message Protocol

SYNOPSIS
     #include <sys/socket.h>
     #include <netinet/in.h>

     int
     socket(AF_INET, SOCK_RAW, proto);

DESCRIPTION
     ICMP is the error and control message protocol used by IP and the
     Internet protocol family.	It may be accessed through a ``raw socket''
     for network monitoring and diagnostic functions.  The proto parameter to
     the socket call to create an ICMP socket is obtained from
     getprotobyname(3).	 ICMP sockets are connectionless, and are normally
     used with the sendto(2) and recvfrom(2) calls, though the connect(2) call
     may also be used to fix the destination for future packets (in which case
     the read(2) or recv(2) and write(2) or send(2) system calls may be used).

     Outgoing packets automatically have an IP header prepended to them (based
     on the destination address).  Incoming packets are received with the IP
     header and options intact.

   Types
     ICMP messages are classified according to the type and code fields
     present in the ICMP header.  The abbreviations for the types and codes
     may be used in rules in pf.conf(5).  The following types are defined:

	   Num	Abbrev.		Description
	   0	echorep		Echo reply
	   3	unreach		Destination unreachable
	   4	squench		Packet loss, slow down
	   5	redir		Shorter route exists
	   6	althost		Alternate host address
	   8	echoreq		Echo request
	   9	routeradv	Router advertisement
	   10	routersol	Router solicitation
	   11	timex		Time exceeded
	   12	paramprob	Invalid IP header
	   13	timereq		Timestamp request
	   14	timerep		Timestamp reply
	   15	inforeq		Information request
	   16	inforep		Information reply
	   17	maskreq		Address mask request
	   18	maskrep		Address mask reply
	   30	trace		Traceroute
	   31	dataconv	Data conversion problem
	   32	mobredir	Mobile host redirection
	   33	ipv6-where	IPv6 where-are-you
	   34	ipv6-here	IPv6 i-am-here
	   35	mobregreq	Mobile registration request
	   36	mobregrep	Mobile registration reply
	   39	skip		SKIP
	   40	photuris	Photuris

     The following codes are defined:

	   Num	Abbrev.		Type	   Description
	   0	net-unr		unreach	   Network unreachable
	   1	host-unr	unreach	   Host unreachable
	   2	proto-unr	unreach	   Protocol unreachable
	   3	port-unr	unreach	   Port unreachable
	   4	needfrag	unreach	   Fragmentation needed but DF bit set
	   5	srcfail		unreach	   Source routing failed
	   6	net-unk		unreach	   Network unknown
	   7	host-unk	unreach	   Host unknown
	   8	isolate		unreach	   Host isolated
	   9	net-prohib	unreach	   Network administratively prohibited
	   10	host-prohib	unreach	   Host administratively prohibited
	   11	net-tos		unreach	   Invalid TOS for network
	   12	host-tos	unreach	   Invalid TOS for host
	   13	filter-prohib	unreach	   Prohibited access
	   14	host-preced	unreach	   Precedence violation
	   15	cutoff-preced	unreach	   Precedence cutoff
	   0	redir-net	redir	   Shorter route for network
	   1	redir-host	redir	   Shorter route for host
	   2	redir-tos-net	redir	   Shorter route for TOS and network
	   3	redir-tos-host	redir	   Shorter route for TOS and host
	   0	normal-adv	routeradv  Normal advertisement
	   16	common-adv	routeradv  Selective advertisement
	   0	transit		timex	   Time exceeded in transit
	   1	reassemb	timex	   Time exceeded in reassembly
	   0	badhead		paramprob  Invalid option pointer
	   1	optmiss		paramprob  Missing option
	   2	badlen		paramprob  Invalid length
	   1	unknown-ind	photuris   Unknown security index
	   2	auth-fail	photuris   Authentication failed
	   3	decrypt-fail	photuris   Decryption failed

DIAGNOSTICS
     A socket operation may fail with one of the following errors returned:

     [EISCONN]	      when trying to establish a connection on a socket which
		      already has one, or when trying to send a datagram with
		      the destination address specified and the socket is
		      already connected;

     [ENOTCONN]	      when trying to send a datagram, but no destination
		      address is specified, and the socket hasn't been
		      connected;

     [ENOBUFS]	      when the system runs out of memory for an internal data
		      structure;

     [EADDRNOTAVAIL]  when an attempt is made to create a socket with a
		      network address for which no network interface exists.

SEE ALSO
     recv(2), send(2), inet(4), ip(4), netintro(4)

HISTORY
     The icmp protocol appeared in 4.3BSD.

OpenBSD 4.9			 June 21, 2008			   OpenBSD 4.9
[top]

List of man pages available for OpenBSD

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net