Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I hope everyone is doing well. I'm looking for tools on Linux that can give me a better understanding of why a network or rather I should say page is down. I ran a typical ping test for a website. That I know to be working. Or at least I believe it's working. I'm able to see info from nslookup and dig. So it's not a DNS issue. However I'm hoping to get more info. I was able to run a traceroute command. Things were looking smooth however there's seems to be a timeout issue. Is there any advance tools that can do network traces, perhaps something more powerful then traceroute? Any suggestions would gladly be appreciated. Thank you.
Is it your server?
There are several reasons why a web page won't work. First thing, see if the web server is running.
Ping tells you the machine is on line and you can reach it, but nothing about the web server.
nslookup and dig report what's set up in DNS...they don't say anything about the networking connection or even if the machine is on line.
Where in the traceroute did the timeout happen?
What happens when you try to connect? What error (if any) do you get?
No, its not my web server. It's a public server where you submit applications. Ironically enough you can access the website just fine. However the fact that the ping tests fails, I find to be rather odd. Initial connections are find. It's rather when proceeding to the next stage of the form, is where timeout issues can occur, so much so that you have to restart applications. I was wondering if there were tools that could analyze the timeouts in that regard.
No, its not my web server. It's a public server where you submit applications. Ironically enough you can access the website just fine. However the fact that the ping tests fails, I find to be rather odd. Initial connections are find. It's rather when proceeding to the next stage of the form, is where timeout issues can occur, so much so that you have to restart applications. I was wondering if there were tools that could analyze the timeouts in that regard.
A server can be set up not to respond to pings...and pings don't tell us anything about what is or is not working on the server. If there's a response, we know the server is up and connected. That's about it.
Why do you think timeouts on a website are related to networking. More likely are problems on the server itself...things like too heavy a load on the server...problems in the script being run, etc.
Again, what errors are you getting? Have you contacted the site owners/administrators about the problem?
1.netstat (ss)
Displays contents of /proc/net files. It works with the Linux Network Subsystem, it will tell you what the status of ports are ie. open, closed, waiting, masquerade connections. It will also display various other things. It has many different options. Netstat (Network Statistic) command display connection info, routing table information etc. To displays routing table information use option as -r.
Sample output:
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp4 0 0 127.0.0.1.62132 127.0.0.1.http ESTABLISHED
tcp4 0 0 127.0.0.1.http * LISTEN
2.tcpdump
This is a sniffer, a program that captures packets off a network interface and interprets them for you. It understands all basic internet protocols, and can be used to save entire packets for later inspection.
3. ping
The ping command (named after the sound of an active sonar system) sends echo requests to the host you specify on the command line, and lists the responses received their round trip time. PING (Packet INternet Groper) command is the best way to test connectivity between two nodes. Whether it is Local Area Network (LAN) or Wide Area Network (WAN). Ping use ICMP (Internet Control Message Protocol) to communicate to other devices. You can ping host name of ip address using below command.
$ ping google.com
PING google.com (216.58.198.78): 56 data bytes
64 bytes from 216.58.198.78: icmp_seq=0 ttl=46 time=6.108 ms
64 bytes from 216.58.198.78: icmp_seq=1 ttl=46 time=6.222 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 6.108/6.165/6.222/0.057 ms
4. traceroute
traceroute will show the route of a packet. It attempts to list the series of hosts through which your packets travel on their way to a given destination. Also have a look at xtraceroute (one of several graphical equivalents of this program). traceroute is a network troubleshooting utility which shows number of hops taken to reach destination also determine packets traveling path. Below we are tracing route to global DNS server IP Address and able to reach destination also shows path of that packet is traveling.
$ traceroute -I google.com
traceroute to google.com (216.58.198.78), 128 hops max, 72 byte packets
1 52.93.7.1 (52.93.7.1) 6.361 ms 6.229 ms 6.106 ms
2 72.14.215.85 (72.14.215.85) 5.939 ms 5.460 ms 5.914 ms
3 209.85.252.198 (209.85.252.198) 6.012 ms 5.694 ms 5.761 ms
4 64.233.174.27 (64.233.174.27) 5.079 ms 4.776 ms 4.662 ms
5 dub08s02-in-f78.1e100.net (216.58.198.78) 6.650 ms 5.509 ms 5.596 ms
5. tracepath
tracepath performs a very simlar function to traceroute the main difference is that tracepath doesn't take complicated options.
6. nmap
“ network exploration tool and security scanner”. nmap is a very advanced network tool used to query machines (local or remote) as to whether they are up and what ports are open on these machines.
7. dig
Dig (domain information groper) query DNS related information like A Record, CNAME, MX Record etc. This command mainly use to troubleshoot DNS related query.
;; ANSWER SECTION:
amazon.com. 17 IN A 54.239.25.200
amazon.com. 17 IN A 54.239.25.208
amazon.com. 17 IN A 54.239.26.128
amazon.com. 17 IN A 54.239.17.6
amazon.com. 17 IN A 54.239.17.7
amazon.com. 17 IN A 54.239.25.192
Non-authoritative answer:
Name: amazon.com
Address: 54.239.25.192
Name: amazon.com
Address: 54.239.25.200
Name: amazon.com
Address: 54.239.25.208
Name: amazon.com
Address: 54.239.26.128
Name: amazon.com
Address: 54.239.17.6
Name: amazon.com
Address: 54.239.17.7
host
host command to find name to IP or IP to name in IPv4 or IPv6 and also query DNS records.
$ host amazon.com
amazon.com has address 54.239.17.6
amazon.com has address 54.239.17.7
amazon.com has address 54.239.25.192
amazon.com has address 54.239.25.200
amazon.com has address 54.239.25.208
amazon.com has address 54.239.26.128
amazon.com mail is handled by 10 amazon-smtp.amazon.com.
8. hostname
hostname is to identify in a network. Execute hostname command to see the hostname of your box. You can set hostname permanently in /etc/sysconfig/network. Need to reboot box once set a proper hostname.
$ hostname -f
miglen.development.box
arp
ARP (Address Resolution Protocol) is useful to view / add the contents of the kernel’s ARP tables. To see default table use the command as.
Configuration
ifconfig
This command is used to configure network interfaces, or to display their current configuration. In addition to activating and deactivating interfaces with the “up” and “down” settings, this command is necessary for setting an interface's address information if you don't have the ifcfg script.
ifup - Use ifup device-name to bring an interface up by following a script (which will contain your default networking settings). Simply type ifup and you will get help on using the script.
ifdown - Use ifdown device-name to bring an interface down using a script (which will contain your default network settings). Simply type ifdown and you will get help on using the script.
ifcfg - Use ifcfg to configure a particular interface. Simply type ifcfg to get help on using this script.
route
The route command is the tool used to display or modify the routing table. To add a gateway as the default you would type:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.31.16.1 0.0.0.0 UG 0 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.31.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
iwconfig
iwconfig command in Linux is use to configure a wireless network interface. You can see and set the basic Wi-Fi details like SSID channel and encryption. You can refer man page of iwconfig to know more.
I am deeply offended you did not include my personal favourite, netcat. It's the perfect tool for checking if a given port is reachable on a server and has some service that listens on it. It can also be used as a simple server, to check whether clients get access to your box using a given port.
However this doesn't help the OP. When a web server is down, all you can say is that it's down. The host may be down, the web server software may have stopped or be overloaded, your address may be banned, the load balancer may be sick, some instance between the client and the server may block the traffic, etc. You can use ping and other tools to find out if the host is up, but only if it responds to those tools.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.