开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
-
Linux系统里,网络相关的信息是用的非常重要的。 尤其一个物联网设备而言,一般都是长久运行,对稳定性要求很高。一旦出现异常,要想方便的导出设备的异常运行信息,网络是一个很重要的途径。咱们不可能大佬远远跑到设备旁边接上显示器键盘鼠标,取出日志。所以那些基本的网络命令咱们要熟悉。
下面是一个常用的网络命令。
-
ping ip ->对于某个地址,icmp是否可以达到,常用,不过某些现场会干掉icmp协议,故经常不好用。 -
telnet ip port ->检测设备某个端口是否开启。 -
ssh -v -p port usename@ip ->这是ssh登录命令,当然也可以用来检测端口开放 -
curl ip:port ->检测设备某个端口是否开启。 -
wget ip:port ->检测设备某个端口是否开启。 -
netstat -antp -> 查看系统下所有tcp协议的网络状态,包括监听、链接、超时等等状态的网络状态。 t是tcp意思,想查看udp,那就改成u, p是显示程序名,a显示全部信息 -
echo "hello world" > /dev/udp/192.168.0.114/1111 -> 通过udp协议把hello world 字符发送到192.168.0.114的1111端口上去。这个可以临时用来测试咱们创建的udp服务器是否好用。 -
ifconfig:这是最基本的查看本地网络信息 -
ip addr :查看比较详细的本地网络信息。 -
mtr :检测我们当前的网络质量,可以使用这个命令,他会比较详细的检测丢包率,便于我们得到网络环境是否有异常。 -
traceroute:查看两台机器通信的经过的路由信息,可用于查看外网链接不畅通的情况。 -
route:显示和操作IP路由表。 -
arp:这个用于查看mac缓存表,一般本地网络用的多一点,有时候乱七八糟的配网会造成mac混乱,这个命令可以帮助我们快速定位问题,比如ip冲突,通过咱们手里的mac地址登记表,快速定位到问题电脑。 -
tcpdump:这个名字比较强悍,参数很多,用于抓包,需要我们对检测的网络协议比较了解。有兴趣可以区了解各个参数的意义。下面说几个比较常用的。i:指定接口,抓取那个网络设备。v:详细信息。-nn :ip和端口以数字形式表现出来。往下分三个模块,第一个是类型,比如host、net等;第二个是目标,src、dst等。第三个是协议,比如 tcp、udp等。