Monday, July 30, 2012

FTP

Active FTP vs. Passive FTP



Introduction

One of the most commonly seen questions when dealing with firewalls and other Internet connectivity issues is the difference between active and passive FTP and how best to support either or both of them. Hopefully the following text will help to clear up some of the confusion over how to support FTP in a firewalled environment.
This may not be the definitive explanation, as the title claims, however, I've heard enough good feedback and seen this document linked in enough places to know that quite a few people have found it to be useful. I am always looking for ways to improve things though, and if you find something that is not quite clear or needs more explanation, please let me know! Recent additions to this document include the examples of both active and passive command line FTP sessions. These session examples should help make things a bit clearer. They also provide a nice picture into what goes on behind the scenes during an FTP session. Now, on to the information...

The Basics

FTP is a TCP based service exclusively. There is no UDP component to FTP. FTP is an unusual service in that it utilizes two ports, a 'data' port and a 'command' port (also known as the control port). Traditionally these are port 21 for the command port and port 20 for the data port. The confusion begins however, when we find that depending on the mode, the data port is not always on port 20.

Active FTP

In active mode FTP the client connects from a random unprivileged port (N > 1023) to the FTP server's command port, port 21. Then, the client starts listening to port N+1 and sends the FTP command PORT N+1 to the FTP server. The server will then connect back to the client's specified data port from its local data port, which is port 20.
From the server-side firewall's standpoint, to support active mode FTP the following communication channels need to be opened:
  • FTP server's port 21 from anywhere (Client initiates connection)
  • FTP server's port 21 to ports > 1023 (Server responds to client's control port)
  • FTP server's port 20 to ports > 1023 (Server initiates data connection to client's data port)
  • FTP server's port 20 from ports > 1023 (Client sends ACKs to server's data port)
When drawn out, the connection appears as follows:
In step 1, the client's command port contacts the server's command port and sends the command PORT 1027. The server then sends an ACK back to the client's command port in step 2. In step 3 the server initiates a connection on its local data port to the data port the client specified earlier. Finally, the client sends an ACK back as shown in step 4. The main problem with active mode FTP actually falls on the client side. The FTP client doesn't make the actual connection to the data port of the server--it simply tells the server what port it is listening on and the server connects back to the specified port on the client. From the client side firewall this appears to be an outside system initiating a connection to an internal client--something that is usually blocked.

Active FTP Example

Below is an actual example of an active FTP session. The only things that have been changed are the server names, IP addresses, and user names. In this example an FTP session is initiated from testbox1.slacksite.com (192.168.150.80), a linux box running the standard FTP command line client, to testbox2.slacksite.com (192.168.150.90), a linux box running ProFTPd 1.2.2RC2. The debugging (-d) flag is used with the FTP client to show what is going on behind the scenes. Everything in red is the debugging output which shows the actual FTP commands being sent to the server and the responses generated from those commands. Normal server output is shown in black, and user input is in bold.
There are a few interesting things to consider about this dialog. Notice that when the PORT command is issued, it specifies a port on the client (192.168.150.80) system, rather than the server. We will see the opposite behavior when we use passive FTP. While we are on the subject, a quick note about the format of the PORT command. As you can see in the example below it is formatted as a series of six numbers separated by commas. The first four octets are the IP address while the last two octets comprise the port that will be used for the data connection. To find the actual port multiply the fifth octet by 256 and then add the sixth octet to the total. Thus in the example below the port number is ( (14*256) + 178), or 3762. A quick check with netstat should confirm this information.
testbox1: {/home/p-t/slacker/public_html} % ftp -d singh.cit.com
Connected to testbox2.slacksite.com.
220 testbox2.slacksite.com FTP server ready.
Name (testbox2:slacker): singh
---> USER slacker
331 Password required for slacker.
Password: abcd
---> PASS XXXX
230 User slacker logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PORT 192,168,150,80,14,178
200 PORT command successful.
---> LIST
150 Opening ASCII mode data connection for file list.
drwx------   3 slacker    users         104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.

Passive FTP

In order to resolve the issue of the server initiating the connection to the client a different method for FTP connections was developed. This was known as passive mode, or PASV, after the command used by the client to tell the server it is in passive mode.
In passive mode FTP the client initiates both connections to the server, solving the problem of firewalls filtering the incoming data port connection to the client from the server. When opening an FTP connection, the client opens two random unprivileged ports locally (N > 1023 and N+1). The first port contacts the server on port 21, but instead of then issuing a PORT command and allowing the server to connect back to its data port, the client will issue the PASV command. The result of this is that the server then opens a random unprivileged port (P > 1023) and sends the PORT P command back to the client. The client then initiates the connection from port N+1 to port P on the server to transfer data.
From the server-side firewall's standpoint, to support passive mode FTP the following communication channels need to be opened:
  • FTP server's port 21 from anywhere (Client initiates connection)
  • FTP server's port 21 to ports > 1023 (Server responds to client's control port)
  • FTP server's ports > 1023 from anywhere (Client initiates data connection to random port specified by server)
  • FTP server's ports > 1023 to remote ports > 1023 (Server sends ACKs (and data) to client's data port)
When drawn, a passive mode FTP connection looks like this:
In step 1, the client contacts the server on the command port and issues the PASV command. The server then replies in step 2 with PORT 2024, telling the client which port it is listening to for the data connection. In step 3 the client then initiates the data connection from its data port to the specified server data port. Finally, the server sends back an ACK in step 4 to the client's data port. While passive mode FTP solves many of the problems from the client side, it opens up a whole range of problems on the server side. The biggest issue is the need to allow any remote connection to high numbered ports on the server. Fortunately, many FTP daemons, including the popular WU-FTPD allow the administrator to specify a range of ports which the FTP server will use. 
The second issue involves supporting and troubleshooting clients which do (or do not) support passive mode. As an example, the command line FTP utility provided with Solaris does not support passive mode, necessitating a third-party FTP client, such as ncftp.
With the massive popularity of the World Wide Web, many people prefer to use their web browser as an FTP client. Most browsers only support passive mode when accessing ftp:// URLs. This can either be good or bad depending on what the servers and firewalls are configured to support.

Passive FTP Example

Below is an actual example of a passive FTP session. The only things that have been changed are the server names, IP addresses, and user names. In this example an FTP session is initiated from testbox1.slacksite.com (192.168.150.80), a linux box running the standard FTP command line client, to testbox2.slacksite.com (192.168.150.90), a linux box running ProFTPd 1.2.2RC2. The debugging (-d) flag is used with the FTP client to show what is going on behind the scenes. Everything in red is the debugging output which shows the actual FTP commands being sent to the server and the responses generated from those commands. Normal server output is shown in black, and user input is in bold.
Notice the difference in the PORT command in this example as opposed to the active FTP example. Here, we see a port being opened on the server (192.168.150.90) system, rather than the client. See the discussion about the format of the PORT command above, in the Active FTP Example section.
testbox1: {/home/p-t/slacker/public_html} % ftp -d singh.cit.com
Connected to testbox2.slacksite.com.
220 testbox2.slacksite.com FTP server ready.
Name (testbox2:slacker): singh
---> USER slacker
331 Password required for slacker.
Password: abcd
---> PASS XXXX
230 User slacker logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode on.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PASV
227 Entering Passive Mode (192,168,150,90,195,149).
---> LIST
150 Opening ASCII mode data connection for file list
drwx------   3 slacker    users         104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.

Other Notes

A reader, Maarten Sjouw, pointed out that active FTP will not function when used in conjunction with a client-side NAT (Network Address Translation) device which is not smart enough to alter the IP address info in FTP packets.

Summary

The following chart should help admins remember how each FTP mode works:
 Active FTP :
     command : client >1023 -> server 21
     data    : client >1023 <- server 20

 Passive FTP :
     command : client >1023 -> server 21
     data    : client >1023 -> server >1023
A quick summary of the pros and cons of active vs. passive FTP is also in order:
Active FTP is beneficial to the FTP server admin, but detrimental to the client side admin. The FTP server attempts to make connections to random high ports on the client, which would almost certainly be blocked by a firewall on the client side. Passive FTP is beneficial to the client, but detrimental to the FTP server admin. The client will make both connections to the server, but one of them will be to a random high port, which would almost certainly be blocked by a firewall on the server side.
Luckily, there is somewhat of a compromise. Since admins running FTP servers will need to make their servers accessible to the greatest number of clients, they will almost certainly need to support passive FTP. The exposure of high level ports on the server can be minimized by specifying a limited port range for the FTP server to use. Thus, everything except for this range of ports can be firewalled on the server side. While this doesn't eliminate all risk to the server, it decreases it tremendously.

Monday, July 23, 2012

Add The Group Information IN Yum Repository in simple Two steps

= Yum groups and repositories =

Yum supports the group commands
  * grouplist
  * groupinfo
  * groupinstall
  * groupremove
  * groupupdate

Groups are read from the "group" xml metadata that is optionally available from
each repository. If yum has no repositories which support groups then none of 
the group operations will work. 
#yum grouplist

   This will list the installed and available groups for your system in two
   separate lists. If you pass the optional 'hidden' argument then all of 
   the groups which are set to 'no' in the group xml tag.

  yum groupinfo groupname
 
  This will give you detailed information for each group including:
  description, mandatory, default and optional packages.

      #yum groupinstall groupname
     #yum groupupdate groupname

  Despite their differing names both of these commands perform the same
  function. They will attempt to install/update all of the packages in the
  group that are of the types 'default' or 'mandatory' (by default).
  (To change this types of packages edit the value of the group_package_types 
  option in yum.conf.) And they will install any additional dependencies 
  needed by any of the installing/updating packages.

    # yum groupremove groupname
 
  This will remove all packages, of any type, in the named group. It will also
  remove any package that depends on any of these packages.
   


== Setting up your own groups in your own repository ==

This process is pretty easy, just two steps:
 1. create a file in the groups format used by yum
 2. tell createrepo to include that group file in your repository.


=== Step 1 ===
  You can either open a text editor and create the groups xml file manually or you
  can run the yum-groups-manager command from yum-utils. 


 # yum-groups-manager -n "My Group" --id=mygroup --save=/root/mygroups.xml --mandatory yum glibc rpm  dhcp bind
  # cat /root/mygroups.xml


 
   mygroup
   False
   True
   1024
   My group
  
   
      glibc
      rpm
      yum

     dhcp
     bind
   
 




=== Step 2 ===
  To include this in a repository, just tell [http://createrepo.baseurl.org/ createrepo] to use it when making or remaking
  your repository.

#createrepo -g /path/to/mygroups.xml /srv/my/repo
 
After that we can check our Group Name
# yum grouplist
#yum groupinfo mygroup
# yum groupinstall

Friday, July 20, 2012

Nic Bonding In RHEL-6


Bonding in RHEL 6


NIC Bonding in RHEL6

 Solution
Red Hat Enterprise Linux allows administrators to bind multiple network interfaces together into a single channel using the bonding kernel module and a special network interface called a channel bonding interface. Channel bonding enables two or more network interfaces to act as one, simultaneously increasing the bandwidth and providing redundancy. The behavior of the bonded interfaces depends upon the mode, either hot standby or load balancing service.
Add caption

           
Steps for configuring bonding
In this document we are configuring bond0 with interfaces eth0 and eth1

Step 1- Load Kernel module
For a channel bonding interface to be valid, the kernel module must be loaded. To ensure that the module is loaded when the channel bonding interface is brought up, create a new file as root named .conf in the /etc/modprobe.d/ directory. Note that we can name this file anything but it should with ends with a .conf extension. Insert the following line in this new file alias bond bonding
Replace  with the interface number, such as 0. If we want to configure  configuring more than on bonding interface, For  each configured channel bonding interface, there must be a corresponding entry in  /etc/modprobe.d/.conf file
In this example we are configuring bond0 and  file name is bonding.conf
  [root@praji2 modprobe.d]# cat /etc/modprobe.d/bonding.conf
  alias bond0 bonding


Step2- create channel bonding interface
We  need to create a channel bonding interface configuration file on/etc/sysconfig/network-scripts/ directory called ifcfg-bond ,replacing  with the number for the interface, such as 0 and specify the bonding parameters on the file. Here we are creating ifcfg-bond0 file with following contents
[root@praji2 network-scripts]# cat ifcfg-bond0
DEVICE=bond0
IPADDR=172.16.1.207
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=0 miimon=1000"

Step 3- Configure Network interfaces
After the channel bonding interface is created, the network interfaces to be bound together must be configured by adding the MASTER= and SLAVE= directives to their configuration files. The configuration files for each of the channel-bonded interfaces can be nearly identical. For example, if two Ethernet interfaces are being channel bonded, both eth0 and eth1 may look like the following example
Interface eth0 configuration
 [root@praji2 network-scripts]# cat ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
USERCTL=no
TYPE=Ethernet
Interface eth1 configuration
[root@praji2 network-scripts]# cat ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
TYPE=Ethernet
USERCTL=no
After configuring the interfaces we have to bring up the bond by using command
[root@praji2 network-scripts]# ifconfig bond0 up
If the bonding is correctly configured we can view the configuration using ifconfig command
[root@praji2 network-scripts]# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:69:31:C4
          inet addr:172.16.1.207  Bcast:172.16.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe69:31c4/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:19676 errors:0 dropped:0 overruns:0 frame:0
          TX packets:342 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1623240 (1.5 MiB)  TX bytes:42250 (41.2 KiB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:69:31:C4
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:10057 errors:0 dropped:0 overruns:0 frame:0
          TX packets:171 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:832257 (812.7 KiB)  TX bytes:22751 (22.2 KiB)
          Interrupt:19 Base address:0x2000

eth1      Link encap:Ethernet  HWaddr 00:0C:29:69:31:C4
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:9620 errors:0 dropped:0 overruns:0 frame:0
          TX packets:173 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:791043 (772.5 KiB)  TX bytes:20207 (19.7 KiB)
          Interrupt:19 Base address:0x2080


lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:104 (104.0 b)  TX bytes:104 (104.0 b)

To view all existing bonds we can run following command, it will list bond0
[root@praji2 network-scripts]# cat /sys/class/net/bonding_masters
bond0
To view the existing mode of bonding we can use following command
[root@praji2 network-scripts]# cat /sys/class/net/bond0/bonding/mode
balance-rr 0
For verifying bonding , we can use following command. It will list bonding details
[root@praji2 network-scripts]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:69:31:c4

Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0c:29:69:31:ce
  
 bonding modes
Several policies are available in bonding, this mode can be set using directive mode=
The  can be one of:
balance-rr or 0 — Sets a round-robin policy for fault tolerance and load balancing. Transmissions are received and sent out sequentially on each bonded slave interface beginning with the first one available.
active-backup or 1 — Sets an active-backup policy for fault tolerance. Transmissions are received and sent out via the first available bonded slave interface. Another bonded slave interface is only used if the active bonded slave interface fails.
balance-xor or 2 — Sets an XOR (exclusive-or) policy for fault tolerance and load balancing. Using this method, the interface matches up the incoming request's MAC address with the MAC address for one of the slave NICs. Once this link is established, transmissions are sent out sequentially beginning with the first available interface.
broadcast or 3 — Sets a broadcast policy for fault tolerance. All transmissions are sent on all slave interfaces.
802.3ad or 4 — Sets an IEEE 802.3ad dynamic link aggregation policy. Creates aggregation groups that share the same speed and duplex settings. Transmits and receives on all slaves in the active aggregator. Requires a switch that is 802.3ad compliant.
balance-tlb or 5 — Sets a Transmit Load Balancing (TLB) policy for fault tolerance and load balancing. The outgoing traffic is distributed according to the current load on each slave interface. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed slave.
balance-alb or 6 — Sets an Active Load Balancing (ALB) policy for fault tolerance and load balancing. Includes transmit and receive load balancing for IPV4 traffic. Receive load balancing is achieved through ARP

Wednesday, July 18, 2012

Start the NAGIOS on fedora machine only in 20 minute

Introduction
This guide is intended to provide you with simple instructions on how to install Nagios from source (code) on Fedora and have it monitoring your local machine inside of 20 minutes. No advanced installation options are discussed here - just the basics that will work for 95% of users who want to get started.
These instructions were written based on a standard Fedora Core 6--17 Linux distribution.
What You'll End Up With
If you follow these instructions, here's what you'll end up with:
  • Nagios and the plugins will be installed underneath /usr/local/nagios
  • Nagios will be configured to monitor a few aspects of your local system (CPU load, disk usage, etc.)
  • The Nagios web interface will be accessible at http://localhost/nagios/
Prerequisites
During portions of the installation you'll need to have root access to your machine.
Make sure you've installed the following packages on your Fedora installation before continuing.
  • Apache
  • PHP
  • GCC compiler
  • GD development libraries
You can use yum to install these packages by running the following commands (as root):
yum install httpd php

yum install gcc glibc glibc-common

yum install gd gd-devel

1) Create Account Information
Become the root user.
su -l

Create a new nagios user account and give it a password.
/usr/sbin/useradd -m nagios

passwd nagios

Create a new nagcmd group for allowing external commands to be submitted through the web interface. Add both the nagios user and the apache user to the group.
/usr/sbin/groupadd nagcmd

/usr/sbin/usermod -a -G nagcmd nagios

/usr/sbin/usermod -a -G nagcmd apache

2) Download Nagios and the Plugins
Create a directory for storing the downloads.
mkdir ~/downloads

cd ~/downloads

Download the source code tarballs of both Nagios and the Nagios plugins (visit http://www.nagios.org/download/ for links to the latest versions). These directions were tested with Nagios 3.1.1 and Nagios Plugins 1.4.11.
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz

wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz

3) Compile and Install Nagios
Extract the Nagios source code tarball.
cd ~/downloads

tar xzf nagios-3.2.3.tar.gz

cd nagios-3.2.3

Run the Nagios configure script, passing the name of the group you created earlier like so:
./configure --with-command-group=nagcmd

Compile the Nagios source code.
make all

Install binaries, init script, sample config files and set permissions on the external command directory.
make install

make install-init

make install-config

make install-commandmode

Don't start Nagios yet - there's still more that needs to be done...
4) Customize Configuration
Sample configuration files have now been installed in the /usr/local/nagios/etc directory. These sample files should work fine for getting started with Nagios. You'll need to make just one change before you proceed...
Edit the /usr/local/nagios/etc/objects/contacts.cfg config file with your favorite editor and change the email address associated with the nagiosadmin contact definition to the address you'd like to use for receiving alerts.
vi /usr/local/nagios/etc/objects/contacts.cfg

5) Configure the Web Interface
Install the Nagios web config file in the Apache conf.d directory.
make install-webconf

Create a nagiosadmin account for logging into the Nagios web interface. Remember the password you assign to this account - you'll need it later.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Restart Apache to make the new settings take effect.
service httpd restart

Note: Consider implementing the ehanced CGI security measures described here to ensure that your web authentication credentials are not compromised.
6) Compile and Install the Nagios Plugins
Extract the Nagios plugins source code tarball.
cd ~/downloads

tar xzf nagios-plugins-1.4.11.tar.gz

cd nagios-plugins-1.4.11

Compile and install the plugins.
./configure --with-nagios-user=nagios --with-nagios-group=nagios

make

make install

7) Start Nagios
Add Nagios to the list of system services and have it automatically start when the system boots.
chkconfig --add nagios

chkconfig nagios on

Verify the sample Nagios configuration files.
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

If there are no errors, start Nagios.
service nagios start

8) Modify SELinux Settings
Fedora ships with SELinux (Security Enhanced Linux) installed and in Enforcing mode by default. This can result in "Internal Server Error" messages when you attempt to access the Nagios CGIs.
See if SELinux is in Enforcing mode.
getenforce

Put SELinux into Permissive mode.
setenforce 0

To make this change permanent, you'll have to modify the settings in /etc/selinux/config and reboot.
Instead of disabling SELinux or setting it to permissive mode, you can use the following command to run the CGIs under SELinux enforcing/targeted mode:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/

chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

For information on running the Nagios CGIs under Enforcing mode with a targeted policy, visit the Nagios Support Portal or Nagios Community Wiki.
9) Login to the Web Interface
You should now be able to access the Nagios web interface at the URL below. You'll be prompted for the username (nagiosadmin) and password you specified earlier.
http://localhost/nagios/

Click on the "Service Detail" navbar link to see details of what's being monitored on your local machine. It will take a few minutes for Nagios to check all the services associated with your machine, as the checks are spread out over time.
10) Other Modifications
Make sure your machine's firewall rules are configured to allow access to the web server if you want to access the Nagios interface remotely.
Configuring email notifications is out of the scope of this documentation. While Nagios is currently configured to send you email notifications, your system may not yet have a mail program properly installed or configured. Refer to your system documentation, search the web, or look to the Nagios Support Portal or Nagios Community Wiki for specific instructions on configuring your system to send email messages to external addresses.
11) You're Done
Congratulations! You sucessfully installed Nagios. Your journey into monitoring is just beginning. You'll no doubt want to monitor more than just your local machine, 

Thursday, July 5, 2012

Find the sevral ways to Do a task In Linux OS

apropos - search the manual page names and descriptions
A very Usefull command to find Out the Manual pages to particular task.. Means we can find.
how Many ways To do A task in Linux.. This is efficiency  of Linux OS. and this command will help Us to find the all ways to do a Task. for example this:------

[root@singh ~]# apropos network
Socket (3pm)         - networking constants and support functions
aseqnet (1)          - ALSA sequencer connectors over network
avahi-autoipd (8)    - IPv4LL network address configuration daemon
bssh (1)             - Browse for SSH/VNC servers on the local network
bvnc (1)             - Browse for SSH/VNC servers on the local network
byteorder (3)        - convert values between host and network byte order
ctstat (8)           - unified linux network statistics
dhclient-script (8)  - DHCP client network configuration script
dsktune (1)          - reports memory, network, and file system tuning settin...
dumpcap (1)          - Dump network traffic
endhostent (3)       - get network host entry
endhostent (3p)      - network host database functions
endnetent (3)        - get network entry
endnetent (3p)       - network database functions
endnetgrent (3)      - handle network group entries
endprotoent (3p)     - network protocol database functions
endservent (3p)      - network services database functions
ethtool (8)          - query or control network driver and hardware settings
freeaddrinfo (3)     - network address and service translation
freehostent (3)      - get network hostnames and addresses
gai_cancel (3)       - asynchronous network address and service translation
gai_error (3)        - asynchronous network address and service translation
gai_strerror (3)     - network address and service translation
gai_suspend (3)      - asynchronous network address and service translation
getaddrinfo (3)      - network address and service translation
getaddrinfo_a (3)    - asynchronous network address and service translation
gethostbyaddr (3)    - get network host entry
gethostbyaddr (3p)   - network host database functions
gethostbyaddr_r (3)  - get network host entry
gethostbyname (3)    - get network host entry
gethostbyname (3p)   - network host database functions
gethostbyname2 (3)   - get network host entry
gethostbyname2_r (3) - get network host entry
gethostbyname_r (3)  - get network host entry
gethostent (3)       - get network host entry
gethostent (3p)      - network host database functions
gethostent_r (3)     - get network host entry
getipnodebyaddr (3)  - get network hostnames and addresses
getipnodebyname (3)  - get network hostnames and addresses
getnetbyaddr (3)     - get network entry
getnetbyaddr (3p)    - network database functions
getnetbyaddr_r (3)   - get network entry (reentrant)
getnetbyname (3)     - get network entry
getnetbyname (3p)    - network database functions
getnetbyname_r (3)   - get network entry (reentrant)
getnetent (3)        - get network entry
getnetent (3p)       - network database functions
getnetent_r (3)      - get network entry (reentrant)
getnetgrent (3)      - handle network group entries
getnetgrent_r (3)    - handle network group entries
getprotobyname (3p)  - network protocol database functions
getprotobynumber (3p) - network protocol database functions
getprotoent (3p)     - network protocol database functions
getservbyname (3p)   - network services database functions
getservbyport (3p)   - network services database functions
getservent (3p)      - network services database functions
h_errno (3)          - get network host entry
h_errno (3p)         - error return value for network database operations
herror (3)           - get network host entry
hstrerror (3)        - get network host entry
htonl (3)            - convert values between host and network byte order
htonl (3p)           - convert values between host and network byte order
htons (3)            - convert values between host and network byte order
htons (3p)           - convert values between host and network byte order
if_indextoname (3p)  - map a network interface index to its corresponding name
if_nameindex (3p)    - return all network interface names and indexes
if_nametoindex (3p)  - map a network interface name to its corresponding index
ifconfig (8)         - configure a network interface
ifdown (8)           - bring a network interface up
ifenslave (8)        - Attach and detach slave network devices to a bonding d...
ifrename (8)         - rename network interfaces based on various static crit...
iftab (5)            - static information about the network interfaces
ifup (8)             - bring a network interface up
inet_network (3)     - Internet address manipulation routines
innetgr (3)          - handle network group entries
IO::Async::Listener (3pm) - listen on network sockets for incoming connections
ip-link (8)          - network device configuration
ip-netns (8)         - process network namespace management
iwconfig (8)         - configure a wireless network interface
iwgetid (8)          - Report ESSID, NWID or AP/Cell Address of wireless network
iwpriv (8)           - configure optionals (private) parameters of a wireless...
libpng (3)           - Portable Network Graphics (PNG) Reference Library 1.5.10
libpngpf (3)         - Portable Network Graphics (PNG) Reference Library 1.5....
lnstat (8)           - unified linux network statistics
lwres_endhostent (3) - lightweight resolver get network host entry
lwres_endhostent_r (3) - lightweight resolver get network host entry
lwres_gethostbyaddr (3) - lightweight resolver get network host entry
lwres_gethostbyaddr_r (3) - lightweight resolver get network host entry
lwres_gethostbyname (3) - lightweight resolver get network host entry
lwres_gethostbyname2 (3) - lightweight resolver get network host entry
lwres_gethostbyname_r (3) - lightweight resolver get network host entry
lwres_gethostent (3) - lightweight resolver get network host entry
lwres_gethostent_r (3) - lightweight resolver get network host entry
lwres_sethostent (3) - lightweight resolver get network host entry
lwres_sethostent_r (3) - lightweight resolver get network host entry
mii-diag (8)         - Network adapter control and monitoring
mount.nfs (8)        - mount a Network File System
mtr (8)              - a network diagnostic tool
nameif (8)           - name network interfaces based on MAC addresses
Net::Cmd (3pm)       - Network Command class (as used by FTP, SMTP etc)
Net::Time (3pm)      - time and daytime network client interface
netdb.h (0p)         - definitions for network database operations
netdevice (7)        - Low level access to Linux network devices
netreport (1)        - request notification of network interface changes
netstat (8)          - Print network connections, routing tables, interface s...
NetworkManager (8)   - network management daemon
NetworkManager.conf (5) - NetworkManager configuration file
NetworkManager_selinux (8) - Security Enhanced Linux Policy for the NetworkMa...
networks (5)         - network name information
nm-online (1)        - ask NetworkManager whether the network is connected
nm-system-settings.conf (5) - Deprecated NetworkManager configuration file
nm-tool (1)          - utility to report NetworkManager state and devices
nmap (1)             - Network exploration tool and security / port scanner
nmcli (1)            - command-line tool for controlling NetworkManager
nping (1)            - Network packet generation tool / ping utility
nstat (8)            - network statistics tools.
ntohl (3)            - convert values between host and network byte order
ntohl (3p)           - convert values between host and network byte order
ntohs (3)            - convert values between host and network byte order
ntohs (3p)           - convert values between host and network byte order
perlfaq9 (1)         - Networking
pifconfig (8)        - display information about a network interface
pilot-install-netsync (1) - reads or sets the Network Preferences information...
pilot-nredir (1)     - Accept connection and redirect via Network Hotsync Pro...
ping (8)             - send ICMP ECHO_REQUEST to network hosts
ping6 (8)            - send ICMP ECHO_REQUEST to network hosts
png (5)              - Portable Network Graphics (PNG) format
POE (3pm)            - portable multitasking and networking framework for any...
qemu-nbd (8)         - QEMU Disk Network Block Device Server
rdate (1)            - get the time via the network
rdisc (8)            - network router discovery daemon
rtacct (8)           - network statistics tools.
rtstat (8)           - unified linux network statistics
sane-net (5)         - SANE network backend
saned (8)            - SANE network daemon
services (5)         - Internet network services list
sethostent (3)       - get network host entry
sethostent (3p)      - network host database functions
setnetent (3)        - get network entry
setnetent (3p)       - network database functions
setnetgrent (3)      - handle network group entries
setprotoent (3p)     - network protocol database functions
setservent (3p)      - network services database functions
slattach (8)         - attach a network interface to a serial line
smbtree (1)          - A text based smb network browser
socket (n)           - Open a TCP network connection
tc-netem (8)         - Network Emulator
tcpbridge (1)        - Bridge network traffic across two interfaces
tcpdump (8)          - dump traffic on a network
tcpreplay (1)        - Replay network traffic stored in pcap files
tcpreplay-edit (1)   - Replay network traffic stored in pcap files
tcptraceroute (8)    - print the route packets trace to network host
tcptrack (1)         - Monitor TCP connections on the network
tracepath (8)        - traces path to a network host discovering MTU along th...
tracepath6 (8)       - traces path to a network host discovering MTU along th...
traceroute (8)       - print the route packets trace to network host
traceroute6 (8)      - print the route packets trace to network host
tshark (1)           - Dump and analyze network traffic
umount.nfs (8)       - unmount a Network File System
usernetctl (8)       - allow a user to manipulate a network interface if perm...
wget (1)             - The non-interactive network downloader.
wireshark (1)        - Interactively dump and analyze network traffic
[root@singh ~]#