Transcript NetAdmin
Linux Networking Commands
Commands Reviewed
Ifconfig
dmesg
netstat
ping
route
tcpdump
wireshark
traceroute
nslookup
arp
dig
ifconfig
ifconfig is used to assign an address to a network
interface and/or configure network interface
parameters.
To determine if an interface has been recognized and
configured on a system
To initially assign an IP address to an interface
to bring an interface up or down
View All Network Setting
The “ifconfig” command with no arguments will display all the
active interfaces details.
Display Information of All Network Interfaces
ifconfig command with -a argument will display information of all active or
inactive network interfaces on server.
ifconfig
View Network Settings of Specific Interface
Enable an Network Interface
ifconfig
Assign a IP Address to Network Interface
[root@tecmint ~]# ifconfig eth0 172.16.25.125
Assign a netmask to Network Interface
[root@tecmint ~]# ifconfig eth0 netmask 255.255.255.224
Assign a Broadcast to Network Interface
[root@tecmint ~]# ifconfig eth0 broadcast 172.16.25.63
Assign all in one command
[root@tecmint ~]# ifconfig eth0 172.16.25.125 netmask 255.255.255.224
broadcast 172.16.25.63
Change the MAC address of Network Interface
[root@tecmint ~]# ifconfig eth0 hw ether AA:BB:CC:DD:EE:FF
ifconfig
Change MTU for an Network Interface
[root@tecmint ~]# ifconfig eth0 mtu 1000
Enable and disablePromiscuous Mode
[root@tecmint ~]# ifconfig eth0 promisc
[root@tecmint ~]# ifconfig eth0 –promisc
Add or remove New Alias to Network Interface
[root@tecmint ~]# ifconfig eth0:0 172.16.25.127
[root@tecmint ~]# ifconfig eth0:0 down
Verify the newly created alias network interface address
[root@tecmint ~]# ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:01:6C:99:14:68 inet
addr:172.16.25.123 Bcast:172.16.25.63 Mask:255.255.255.240 UP
BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:17
See if the device has been found - use
dmesg
The command 'dmesg', which is used to print kernel messages, is
very useful in determining if a piece of hardware has been found,
and if so, what the system is referring to it as.
Examples:
dmesg
dmesg | grep -i eth0
dmesg | grep -i usb
dmesg | grep -i Memory
dmesg | grep -i bluetooth
dmesg | grep -i tty
dmesg –c
clear dmesg logs from boot time to till that time
ping
Confirm that a remote host is online and responding.
ping is intended for use in network testing,
measurement, and management.
It is unwise to use ping during normal operations or
from automated scripts.
Decrease /Increase Ping Time Interval
$ ping -i 5 IP
# ping -i 0.1 IP
Note: Only super user can specify interval less than 0.2 seconds.
Check local interface
$ ping 0
$ ping localhost
$ ping 127.0.0.1
Send n packets and stop:
$ ping -c 5 google.com
Display the current version of ping program
$ ping -V
Ping
5. Flood the network
# ping -f localhost
Audible ping:
$ ping -a IP
Change Ping Packet Size
$ ping -s 100 localhost
Specify path for ping to send the packet
$ ping 192.168.3.33 192.168.7.1 192.168.4.45
Record and print route of how ECHO_REQUEST sent
and ECHO_REPLY received
$ ping -R 192.168.1.63
Route command
Display Existing Routes
if the destination is within the network range 192.168.1.0 –
192.168.1.255, then the gateway is *, which is 0.0.0.0.
By default route command displays the host name in its output.
We can request it to display the numerical IP address using -n
option as shown below.
Adding a Default Gateway
$ route add default gw 192.168.1.10
List Kernel’s Routing Cache Information
Reject Routing to a Particular Host or Network
route add -host 192.168.1.51 reject
traceroute
traceroute attempts tracing by launching
UDP probe packets with a small TTL
(time to live), then listening for an ICMP
"time exceeded" reply from a gateway.
host is the destination hostname or the IP
number of host to reach.
packetsize is the packet size in bytes of the
probe datagram. Default is 38 bytes.
Note
Traceroute has lost some of
its effectiveness since most
ISP’s disallow it from
running on their networks
netstat
List out all connections
$ netstat –a
List only TCP or UDP connections
$ netstat –at
$ netstat –au
Disable reverse dns lookup for faster output: By
default, the netstat command tries to find out the
hostname of each ip address in the connection by doing
a reverse dns lookup. This slows down the output.
$ netstat -ant
netstat
Print statistic
$ netstat -s
List out only listening connections
$ netstat –tnl
Get process name/pid and user id
$ sudo netstat –nlpt
Use the e option along with the p option to get the
username too.
$ sudo netstat -ltpe
netstat -nr
[root@localhost root]# netstat -nr
Kernel IP routing table
Destination Gateway
Genmask
Flags MSS Window irtt Iface
192.168.2.0 0.0.0.0
255.255.255.0 U
40 0
0 eth0
192.168.1.0 0.0.0.0
255.255.255.0 U
40 0
0 eth1
127.0.0.0
0.0.0.0
255.0.0.0
U
40 0
0 lo
0.0.0.0
192.168.1.1 0.0.0.0
UG
40 0
0 eth1
nslookup
Query Internet domain name servers.
$ nslookup redhat.com
$ nslookup -query=mx redhat.com
nslookup -type=ns redhat.com
Query the SOA Record using -query=soa
provides the authoritative information about the domain, the e-mail address of the domain
admin, the domain serial number, etc…
$ nslookup -type=soa redhat.com
View available DNS records using -query=any
$ nslookup -type=any google.com
Reverse DNS lookup
$ nslookup redhat.com ns1.redhat.com
arp -a
[root@localhost root]# arp -a
gatewayout.tcp-ip.ca (192.168.1.1) at 00:04:5A:DB:A1:C5 [ether] on eth1
basement.tcp-ip.ca (192.168.2.75) at 00:10:E0:04:61:84 [ether] on eth0
just_a_node.tcp-ip.ca (192.168.1.101) at 00:09:B7:13:AA:13 [ether] on eth1
dig - supercharged nslookup
oroot@localhost root]# dig cs.senecac.on.ca
; <<>> DiG 9.1.3 <<>> cs.senecac.on.ca
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10483
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 6, ADDITIONAL: 4
;; QUESTION SECTION:
;cs.senecac.on.ca.
IN
;; ANSWER SECTION:
cs.senecac.on.ca.
86400 IN
A
A
142.204.57.48
dig - better than nslookup
;; AUTHORITY SECTION:
senecac.on.ca.
86400 IN
senecac.on.ca.
86400 IN
senecac.on.ca.
86400 IN
senecac.on.ca.
86400 IN
senecac.on.ca.
86400 IN
senecac.on.ca.
86400 IN
;; ADDITIONAL SECTION:
ns2.senecac.on.ca.
86400
hades.senecac.on.ca. 86400
ittads.senecac.on.ca. 86400
pulsar.senecac.on.ca. 86400
;; Query time: 2202 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Sep 29 16:38:20 2002
;; MSG SIZE rcvd: 238
IN
IN
IN
IN
NS
NS
NS
NS
NS
NS
A
A
A
A
ns.onet.on.ca.
ns2.senecac.on.ca.
hades.senecac.on.ca.
ittads.senecac.on.ca.
pulsar.senecac.on.ca.
nsprime.senecac.on.ca.
142.204.10.100
142.204.57.15
142.204.6.57
142.204.119.97
tcpdump
tcpdump is a most powerful and widely used
command-line packets sniffer or package analyzer tool
which is used to capture or filter TCP/IP packets that
received or transferred over a network on a specific
interface.
# yum install tcpdump
$ apt-get install tcpdump
Capture Packets from Specific Interface
# tcpdump -i eth0
Capture Only N Number of Packets
# tcpdump -c 5 -i eth0
Display Available Interfaces
# tcpdump –D
Capture and Save Packets in a File
# tcpdump -w 0001.pcap -i eth0
Read Captured Packets File
# tcpdump -r 0001.pcap
Capture only TCP packets
# tcpdump -i eth0 tcp
Capture Packet from Specific Port
# tcpdump -i eth0 port 22
Capture Packets from destination /src IP
# tcpdump -i eth0 dst 50.116.66.139
# tcpdump -i eth0 src 50.116.66.139
Wireshark
Wireshark is a open source and freely available
network analyzer tool which is shipped with most of
the Linux distributions now a days.