1.getmxrr($hostname, $mxhosts)
This function is used to retrieve the names of MX (mail exchanger) hosts for a particular host.
Use this function to identify the mail hosts for a domain, typically as a prelude to verifying a mailbox on that domain.
<?php
$hosts = array();
$ret = getmxrr('techrepublic.com', $hosts);
if ($ret) {
print_r($hosts);
} else {
echo 'MX retrieval failed';
}
?>
Output:
Array (
[0] => c10-mail.cnet.com
[1] => c12-mail.cnet.com
)
2.gethostbyaddr($ip)
This function is used to retrieve the host name associated with an IP.
Use this function to perform a reverse DNS lookup and put a name to an IP address - for example, the IP addresses recorded in your Web server logs.
<?php
echo gethostbyaddr('216.239.115.148');
?>
Output:
c10-sha-redirect-lb.cnet.com
3.gethostbyname($name)
This function does the reverse of gethostbyaddr(), retrieving the IP address associated with a host name.
Use this function to perform a standard DNS lookup and get the IP address associated with a host name - for example, when automatically blacklisting suspicious domains.
<?php
echo gethostbyname('techrepublic.com');
?>
Output:
216.239.115.148
4.ip2long($ip)
and
long2ip($long)
These functions convert IP addresses in dotted-quad notation to long integers, or the other way around.
Use these functions when you need to represent IP addresses in integer format (typically for numerical calculations), or vice-versa.
<?php
echo ip2long('216.239.115.148');
echo long2ip(-655395948 );
?>
Output:
-655395948
216.239.115.148
5.checkdnsrr($host, $type)
This function checks the DNS for records corresponding to type $type for host $host and returns Boolean true if found.
Use this function to evaluate whether a particular type of DNS record exists for a host.
<?php
$ret = checkdnsrr('techrepublic.com', SOA);
if ($ret) {
echo 'SOA records exist for host';
} else {
echo 'SOA records do not exist for host';
}
?>
Output:
SOA records exist for host
6.dns_get_record($host, $type)
This function returns the DNS record for host $host. The optional $type parameter can be used to retrieve only those subsets matching a specified type.
Use this function to retrieve detailed DNS records for a particular host.
<?php
$data = dns_get_record('techrepublic.com');
print_r($data);
?>
Output:
Array
(
[0] => Array
(
[host] => techrepublic.com
[type] => MX
[pri] => 500
[target] => c10-mail.cnet.com
[class] => IN
[ttl] => 10756
)
[1] => Array
(
[host] => techrepublic.com
[type] => NS
[target] => ns3.cnet.com
[class] => IN
[ttl] => 7885
)
)
7.getprotobyname($num)
and
getprotobynum($name)
These functions retrieve protocol names and numbers from the system-wide /etc/protocols file.
Use this function to retrieve system protocol information, either by name or number.
<?php
echo getprotobyname(81);
echo getprotobyname('icmp');
?>
Output:
vmtp
1
8.getservbyname($service, $protocol)
This function is used to retrieve the port number for the service $service using the protocol $protocol, from the system-wide /etc/services file.
Use this function to dynamically obtain information on ports for running system services.
<?php
echo getservbyname('http', 'tcp');
?>
Output:
80
9.inet_ntop($addr)
and
inet_pton($addr)
These functions unpack and pack IP addresses between binary format and human-readable addresses.
Use this function to convert between IPv4/IPv6 address strings and binary representation.
<?php
$packed = inet_pton('192.168.0.1');
$unpacked = inet_ntop($packed);
echo $unpacked;
?>
Output:
192.168.0.1
10.syslog($level, $msg)
This function logs the message $msg to the system logging device with warning level $level.
Use this function to issue system-wide errors or alerts.
<?php
define_syslog_variables();
openlog('mylog', LOG_NDELAY, LOG_LOCAL0);
syslog(LOG_DEBUG, 'This is a debug message');
closelog();
?>