工作中常用的linux的一些知识(网络篇)

4,857 阅读3分钟

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战

日常工作在内网环境,网络不通是家常便饭,遇到网络不通的情况我的思路如下:

  1. 看域名/IP是否能够ping通
  2. 看具体某个端口通不通

查看网络通不通

应用场景:前后端交互,前端要访问后端的接口,有时候访问不到,可以先看下网络通不通,ping一下后端的端口,如果不通的话,说明对方开放了防火墙

ping baidu.com

输出如下:

ping baidu.com
PING baidu.com (220.181.38.148) 56(84) bytes of data.
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=1 ttl=49 time=26.6 ms
64 bytes from 220.181.38.148 (220.181.38.148): icmp_seq=2 ttl=49 time=26.4 ms

注意,该命名还会得到域名对应的IP,如上图的 220.181.38.148

以上输入是通的,如果不通的话就会卡着不动,输出如下:

ping google.com
PING google.com (93.46.8.90) 56(84) bytes of data.

查看某个端口通不通

服务器为了安全,往往只会开放部分端口,使用telnet端口可以查看某个端口开没开放。

telnet juejin.cn 443

如果端口是通的,输出如下:

Trying 119.96.138.242...
Connected to juejin.cn.
Escape character is '^]'.

如果不通,输出如下:

telnet juejin.cn 8080
Trying 119.96.137.241...

或者输出如下

telnet raasr.xfyun.cn 19999
Trying 42.62.43.138...
Connected to e62acf7b4f2de86dd5dcf0748c6c8a1d.iflysec.com.
Escape character is '^]'.
Connection closed by foreign host.

如果服务器端口不通的话,我们可以手动开放一些端口,端口开启关闭方式如下: www.jianshu.com/p/b3068288d…

前提是需要使用root用户进行操作

在服务器测试接口

在本地环境,测试接口我们有图形界面的工具,例如postman,但是服务器没有,如果要在服务器测试某个接口的数据响应我们可以用curl命令

我从掘金控制台Network随便找了个接口进行测试

curl https://api.juejin.cn/tag_api/v1/query_category_briefs\?

输出如下:

image.png

我们还可以只查看响应头,使用-I参数

 curl -I https://juejin.cn/user/4388906148312295

输出如下:

HTTP/1.1 200 OK
Server: Tengine
Content-Type: text/html; charset=utf-8
Content-Length: 579546
Connection: keep-alive
Date: Thu, 05 Aug 2021 22:16:51 GMT
Vary: Accept-Encoding
X-Powered-By: Express
x-tt-logid: 02162820181098400000000000000000000ffff0acc1a0d0a44fc
ETag: "8d7da-9UN2GrglSqrBiKrteiSeSf2tylQ"
Accept-Ranges: none
Server-Timing: inner; dur=292, pp;dur=6, total;dur=288;desc="Nuxt Server Time"
Vary: Accept-Encoding
x-tt-trace-host: 011d6f0a0a05995d3b245dd3cad0158336d6085d24a5c4fca26fd5be84ed73f1ea1de42fe0d77c88616eed7e6839124294100163fa1c59f105370f1de98c0736e8f87eeb034c540029b1136d04b9408f712fad7c9c44e7fc354672f58c1f8f0f8e
x-tt-trace-tag: id=3;cdn-cache=miss
Via: cache13.cn1247[298,0]
Timing-Allow-Origin: *
EagleId: 276076a116282018109812853e

curl除了发送最基础的get请求,还可以发送post请求,以及设置请求体数据的格式,更多使用方式参考下这篇文章: www.ruanyifeng.com/blog/2019/0…