lsmod: list a modules that are currently loaded

rmmod: remove a module from the Linux kernel

Configure network interface:

 

Syntax:  ifconfig eth_name ip_address netmask network_mask broadcast broadcast address

eg. ifconfig eth0 192.168.0.23 netmask 255.255.255.0 broadcast 192.168.0.255

Use dhcp: dhclient

check the ip address and mask of an interface: ifconfig or netstat -i

Fedora add the info to /etc/sysconfig/network-script/ifcfg-interfacename

Ubuntu in the /etc/network/interfaces file.

To get the ipaddress from the DHCP: use the line “iface eth0 inet dhcp”

Use static : iface eth0 inet static , then add another line use format like:

address 192.168.0.23

netmask 255.255.255.0

gateway 192.168.0.1

Then use ifdown eth0 , then ifup eth0 to load the configuration file.

ipv6

how to disable IPv6 on Red Hat- and Debian-based distributions.

Here’s how to disable the protocol on a Red Hat-based system:

Open a terminal window.
Change to the root user.
Issue the command sysctl -w net.ipv6.conf.all.disable_ipv6=1
Issue the command sysctl -w net.ipv6.conf.default.disable_ipv6=1

To re-enable IPv6, issue the following commands:

sysctl -w net.ipv6.conf.all.disable_ipv6=0

sysctl -w net.ipv6.conf.default.disable_ipv6=0

 

 

DNS

Host file (cache): /etc/hosts

add DNS server into your system: /etc/resolv.conf file.  older Linux, the /etc/host.conf file used.

This file can contain up to 3 DNS servers.

If you require DNS for your temporary network configuration, you can add DNS server IP addresses in the file /etc/resolv.conf. In general, editing /etc/resolv.conf directly is not recommended, but this is a temporary and non-persistent configuration. The example below shows how to enter two DNS servers to /etc/resolv.conf, which should be changed to servers appropriate for your network.

The format is like:

search example.com local.lan
nameserver 127.0.0.1
nameserver 172.16.1.254
nameserver 172.16.2.254

A more proper persistent way to do DNS client configuration is in a following section.

nameserver 8.8.8.8

Dig

Stands for Domain Information groper, Dis is an excellent tool to do an DNS query .

basic command is like:

Dig www.google.com

For more complex use, check here:

 

Routing

To see the route table, use route command, or netstat -r command.

Enable routing ( IP forwarding ):

change the value in the file /proc/sys/net/ipv4/ip_forward into 1:

echo 1 > /proc/sys/net/ipv4/ip_forward

IPv4 routing at every boot,ensure that the line net.ipv4.ip_forward = 1 exists in the /etc/sysctl.conf file.

Add a route:

route add -net network_address netmask network_mask gw gateway_address

eg. route add -net 10.0.1.0 netmask 255.255.255.0 gw 10.0.1.1

OR

ip route add network_address/mask_length via gateway_addgess

eg. ip route add 10.0.1.0/24 via 10.0.1.1

delete a route:

route del network_address

 

Network services

Ports and their associated protocols are defined in the /etc/services file.

To see which port the telnet daemon listens, use grep telnet /etc/services

Ports range in number from 0 to 65534. The ports 0–1023 are called well-known ports.

Two kinds of network daemons:

  • Stand-alone daemons: Daemons that provide the network services directly.
  • Smaller network daemons: connections are started and managed by the inetd or xinetd daemons, which starts the appropriate daemon inorder to provide the network service as needed.
    • inetd ( Internet Super Daemon)
    • xinetd ( Extended Internet Super Daemon.

 

Network state

we can check the network state with netstat command:

The most common switches include:

(1) show network interface info:

#netstat –i

(2) show the active internet connections and socket of the server:

#netstat –lpe

Include the Program name, PID, I-node.

(3) show routing table info

#netstat –r

#netstat –nr

(4) show tcp or udp connection info:

#netstat –t

#netstat –u

 

To check the IP addresses of the connected sesions:

netstat -ntu|awk '{print $5}'|cut -d: -f1 -s|sort|uniq -c|sort -nk1 -r
Remote administration

Telnet : By default Root user is prevented from logging in and obtaining a shell, to enable this. Removing or renaming the file /etc/securetty.

SSH:

encrypt the information that passes between computers.

syntax: ssh -l username IP_address(or url)

First time to use SSH: Accept the RSA encryption fingerprint, which is stored in ~/.ssh/know_hosts

If the target computer’s encryption keys are regenerated, you will need to remove the old key from the ~/.ssh/known_hosts file before you connect again.

The –X option to the ssh command can be used to tunnel X Windows information through the SSH connection.

sshd is usually configured to allow  root logins and a wide range of encryption algorithms by default. However,you can configure the functionality of sshd by editing the /etc/ssh/sshd_config file.

File download

Under command line, the most popular download tools are wget and curl.

wget

The result is a single index.html file. On its own this file is fairly useless as the content is still pulled from Google and the images and stylesheets are still all held on Google.

To download the full site and all the pages you can use the following command:

wget -r www.everydaylinuxuser.com

This downloads the pages recursively up to a maximum of 5 levels deep.

5 levels deep might not be enough to get everything from the site. You can use the -l switch to set the number of levels you wish to go to as follows:

wget -r -l5 www.everydaylinuxuser.com

If you want infinite recursion you can use the following:

wget -r -l inf www.everydaylinuxuser.com

You can also replace the inf with 0 which means the same thing.

 

Send Mail from command

First of all, check if the /bin/mailx or /usr/bin/mailx  file exist or not. Or else, you need to install it:

# ubuntu/debian
$ sudo apt-get install heirloom-mailx

# fedora/centos
$ sudo yum install mailx
Simple mail

Run the following command, and then mailx would wait for you to enter the message of the email. You can hit enter for new lines. When done typing the message, press Ctrl+D and mailx would display EOT.

After than mailx automatically delivers the email to the destination.

$ /bin/mail -s "Subject" [email protected]
Hi!
How are you
I am fine
Bye
[ctrl+D to send]
EOT
Use SMTP

echo ” The mail body” | mailx -v -r “[email protected]” -s “Test Message” -S smtp=”smtp.smtp_server_domain.com:port” -S smtp-auth=plain -S smtp-auth-user=”sender” -S smtp-auth-password=”xxxxx” recepient@target_domain.com

  • -v : show the process verbosely
  • -r: sender email
  • -s: title
  • -S: parameters
Specify “Reply-To” address

The reply to address is set with the internal option variable “replyto” using the “-S” option.

# replyto email
$ echo "This is message" | mail -s "Testing replyto" -S replyto="[email protected]" [email protected]

# replyto email with a name
$ echo "This is message" | mail -s "Testing replyto" -S replyto="Mark<[email protected]>" [email protected]
Attachments

Attachments can be added with the “-a” option.

$ echo "This is message body" | mail -s "This is Subject" -r "Harry<[email protected]>" -a /path/to/file [email protected]

For more use, check here:

9 mail/mailx command examples to send emails from command line on Linux

 

Reference

Mailx: http://heirloom.sourceforge.net/mailx/mailx.1.html

Related pages: