当前位置: 首页 > 科技观察

在Linux系统上检查网络连接

时间:2023-03-18 01:03:34 科技观察

Linux系统提供了许多有用的命令来检查网络配置和连接。让我们看几个,包括ifquery、ifup、ifdown和ifconfig。Linux上有许多命令可用于查看网络设置和连接。在今天的文章中,我们将介绍一些非常方便的命令并了解它们的工作原理。ifquery命令一个非常有用的命令是ifquery。此命令应显示网络接口列表。但是,您可能只会看到类似这样的内容-仅环回接口:$ifquery--listlo如果是这种情况,那么您的/etc/network/interfaces不包括环回接口以外的网络接口信息。在下面的例子中,假设你使用DHCP分配地址,如果你想让它更有用,你可以添加例子***的两行。#interfaces(5)fileusedbyifup(8)andifdown(8)autoloifaceloinetloopbackautoeth0ifaceeth0inetdhcpifup和ifdown命令可以使用相关的ifup和ifdown命令打开网络连接并根据需要关闭它,只要文件具有所需的描述性数据即可。请记住,这里的“if”是指接口,如ifconfig命令,而不是IfIHadOneBrain中的“if”。ifconfig命令此外,ifconfig命令根本不读取/etc/network/interfaces,但仍提供大量有关网络接口的有用信息——配置数据和数据包计数,可以告诉您每个接口的繁忙程度。ifconfig命令也可用于关闭和重新启动网络接口(例如:ifconfigeth0down)。$ifconfigeth0eth0Linkencap:EthernetHWaddr00:1e:4f:c8:43:fcinetaddr:192.168.0.6Bcast:192.168.0.255Mask:255.255.255.0inet6addr:fe80::b44b:bdb6:2527:6ae9/64Scope:LinkUPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1RXpackets:60474errors:0dropped:0overruns:0frame:0TXpackets:33463errors:0dropped:0overruns:0carrier:0collisions:0txqueuelen:1000RXbytes:43922053(43.9MB)TXbytes:4000460(4.0MB)中断:21Memory:fe9e0000-0fea计数低。此外,没有错误或数据包冲突的报告。也许可以使用uptime命令来确认系统最近重新启动过。上面显示的广播(Bcast)和网络掩码(Mask)地址表明系统运行在C类等效网络(默认),因此本地地址范围为192.168.0.1到192.168.0.254。netstat命令netstat命令提供有关路由和网络连接的信息。netstat-rn命令显示系统的路由表。192.168.0.1是本地网关(Flags=UG)。$netstat-rnKernelIProutingtableDestinationGatewayGenmaskFlagsMSSWindowirttIface0.0.0.0192.168.0.10.0.0.0UG000eth0169.254.0.00.0.0.0255.255.0.0U000eth0192.168.0.00.0.0.0255.255.255.0U000eth0上面输出中的169.254.0.0条目仅在你正在使用或计划使用只有链路本地通信是必需的。如果不是这样,你可以注释掉/etc/network/if-up.d/avahi-autoipd中的相关行:$tail-12/etc/network/if-up.d/avahi-autoipd#if[-x/bin/ip];then##routealreadypresent?#iprouteshow|grep-q'^169.254.0.0/16[[:space:]]'&&exit0##/bin/iprouteadd169.254.0.0/16dev$IFACEmetric1000scopelink#elif[-x/sbin/route];then##routealreadypresent?#/sbin/route-n|egrep-q"^169.254.0.0[[:space:]]"&&exit0##/sbin/routeadd-net169.254.0.0netmask255.255.0.0dev$IFACEmetric1000#finetstat-a命令netstat-a命令将显示“所有”网络连接。要将其限制为显示侦听和已建立的连接(这通常更有用),请改用netstat-at命令。$netstat-atActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp00*:ssh*:*LISTENtcp00localhost:ipp*:*LISTENtcp00localhost:smtp*:*LISTENtcp0256192.168.0.6:ssh192.168.0.32cp::[ESTABLI]:[ESTABLI]:*LISTENtcp600[::]:ssh[::]:*LISTENtcp600ip6-localhost:ipp[::]:*LISTENtcp600ip6-localhost:smtp[::]:*LISTENhost命令类似于nslookup,用于查询IP地址远程系统,还提供系统的邮箱处理地址。$hostworld.std.comworld.std.comhasaddress192.74.137.5world.std.commailishandledby10smtp.theworld.com.nslookupnslookup命令还提供有关提供DNS查找服务的系统(在本例中为本地系统)的信息。$nslookupworld.std.comServer:127.0.1.1Address:127.0.1.1#53Non-authoritativeanswer:Name:world.std.comAddress:192.74.137.5dig命令dig命令提供了很多关于连接到远程系统的信息——包括与我们的名称服务器以及查询响应所需的时间,通常用于故障排除。$digworld.std.com;<<>>DiG9.10.3-P4-Ubuntu<<>>world.std.com;;globaloptions:+cmd;;Goanswer:;;->>HEADER<<-opcode:QUERY,状态:NOERROR,id:28679;;标志:qrrdra;查询:1,答案:1,权限:0,附加:1;;OPTPSEUDOSECTION:;EDNS:版本:0,标志:;udp:512;;问题部分:;world.std.com.INA;;ANSWERSECTION:world.std.com.78146INA192.74.137.5;;Querytime:37msec;;SERVER:127.0.1.1#53(127.0.1.1);;WHEN:MonOct0913:26:46EDT2017;;MSGSIZERcvd:58nmap命令通常用于探测远程系统,但也可用于报告本地系统提供的服务。在下面的输出中,我们可以看到可以使用ssh登录,使用smtp发送电子邮件,也启用了网站,并且正在运行ipp打印服务。$nmaplocalhostStartingNmap7.01(https://nmap.org)at2017-10-0915:01EDTNmapscanreportforlocalhost(127.0.0.1)Hostisup(0.00016slatency).Notshown:996closedportsPORTSTATESERVICE22/tcpopenssh25/tcpopensmtp80/tcpopenhttp631/tcpopenippNmapdone:1IPaddress(1hostup)scannedin0.09secondsLinux系统提供了许多有用的命令来查看网络配置和连接。如果您完成了探索,请记住apropos网络可能会让您了解更多。