网络诊疗工具

telnet

建立TCP链接,可以判断TCP服务是否正常

// 正常链接的情况
$ telnet localhost 30100
Trying ::1...
Connected to localhost.
Escape character is '^]'.

// 链接异常的情况
$ telnet localhost 30101
Trying ::1...
Connection failed: Connection refused
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

nslookup

nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题
可以让因特网服务器管理员或任何的计算机用户输入一个主机名(举例来说,“whatis.com.cn”)并发现相应的IP地址。它也会相反的名字查找为一个你指定的 IP 住址找出主机名。

$ nslookup www.baidu.com
// 最上面的 Server 和 Address 是该词查询的 DNS 服务器。可以自己指定,也可以默认。
Server:     10.30.7.177
Address:    10.30.7.177#53   // 默认情况下 DNS 服务器的端口为53

Non-authoritative answer:   // 非权威应答(Non-authoritative answer)意味着answer来自于其他服务器的缓存,而不是权威的Baidu DNS服务器。
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 110.242.68.4
Name:	www.a.shifen.com
Address: 110.242.68.3

dig

Dig,全称Domain Information Groper。是一个功能强大的命令行工具,用于查询DNS域名服务器。

$ dig www.baidu.com

; <<>> DiG 9.10.6 <<>> www.baidu.com   // dig版本以及调用的查询
;; global options: +cmd // 全局参数选项(默认情况下仅为cmd)
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11478 // 标题,包括操作码(由dig执行的操作)和操作的状态。在这种情况下,状态NOERROR意味着所请求的都已授权查询而没有任何问题。
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		914	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	72	IN	A	110.242.68.4
www.a.shifen.com.	72	IN	A	110.242.68.3

;; Query time: 57 msec
;; SERVER: 10.8.8.18#53(10.8.8.18)
;; WHEN: Sun May 22 11:17:30 CST 2022
;; MSG SIZE  rcvd: 101

curl

默认使用的是http协议, 默认80端口

$ curl -v www.baidu.com
$ curl -v http://www.baidu.com

使用https协议,默认443端口

# 这里必须加上https,不然就会使用80端口的http协议
$ curl -v --insecure https://www.baidu.com 

lsof(list open files)

是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于这个应用程序本身的信息。

lsof打开的文件可以是:

  • 普通文件
  • 目录
  • 网络文件系统的文件
  • 字符或设备文件
  • (函数)共享库
  • 管道,命名管道
  • 符号链接
  • 网络文件(例如:NFS file、网络socket,unix域名socket)
  • 还有其它类型的文件,等等

通过某个进程号显示该进程打开的文件

lsof -p 11968

列出某个程序所打开的文件信息

lsof -c mysql

列出所有的网络连接

lsof -i 
可以指定传输协议
lsof -i tcp/udp

列出谁在使用某个端口
lsof -i :3306

列出被进程号为1234的进程所打开的所有IPV4 network files

lsof -i 4 -a -p 1234

列出端口为:20,21,80相关的所有文件信息,且每隔3秒重复执行

lsof -i :20,21,80 -r 3

netstat

参数说明

-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令

而在MacOS上,-f需要加上地址族,-p需要加上协议TCP或者UDP等

通常用法:

显示所有的TCP连接 Linux
netstat -atnp

显示网卡列表
netstat -i

Mac
如果需要查询inet:netstat -anvf inet
如果需要查询TCP:netstat -anvp tcp
如果需要查询UDP:netstat -anvp udp

windows
netstat -a | findstr "8080"

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值