1-Linux 网络操作 ping telnet curl netstat(netstat -ntlp),查看外网ip

Linux 网络操作

一,ping

ping是Linux系统下的一个命令,ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。

ping命令本身处于应用层,相当于一个应用程序,它直接使用网络层的ICMP协议。Ping(Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序。它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:利用网络上机器IP地址的唯一性,给目标IP地址发送一个ICMP数据包,再要求对方返回一个同样大小的ICMP数据包来确定两台网络机器是否连接相通,时延是多少。

一般的ping指令为:

ping www.baidu.com

ping指的是端对端连通,通常用来作为可用性的检查,

二,telnet

telnet是用来探测指定ip是否开放指定端口。

telnet协议是TCP/IP协议族的其中之一,是Internet远端登录服务的标准协议和主要方式,常用于网页服务器的远端控制,可供使用者在本地主机执行远端主机上的工作。使用者首先在电脑执行telnet程序,连线至目的地服务器,然后输入帐号和密码以验证身份。使用者可以在本地主机输入命令,然后让已连接的远端主机执行,就像直接在对方的控制台上输入一样。传统telnet会话所传输的资料并未加密,帐号和密码等敏感资料容易会被窃听,因此很多服务器都会封锁telnet服务,改用更安全的ssh。

一般的telnet指令为:

telnet www.baidu.com 80

简单的说,ping命令是用来检测网络是否畅通的,而telnet命令则用来远程登陆。 但telnet不通并不一定代表网络不通。ping是基于ICMP协议的命令,就是你发出去一个数据包,对方收到后返给你一个!就好比声纳。这个协议是可以禁止的!禁止后,如果你ping对方,对方收到后就不回馈给你,这样你就显示无法ping通,但实际你们还是连着的!telnet是登陆服务器的!服务没禁止就能登陆。

三,curl

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具。这个工具可以帮助我们在服务器上很好的模拟http的行为。

curl url 返回整个网页的内容

curl -I url 返回这个网页的header

curl -i url 返回网页header + 内容

curl https://www.baidu.com

四,netstat

这是重点,下面会详细一点,

mpstat

mpstat 是Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。

在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

常见用法:

netstat –npl 可以查看你要打开的端口是否已经打开。

列出所有端口
netstat -ntlp

-bash: netstat: command not found

yum install net-tools

4.1 netstat常见参数

-a (all) 显示所有选项,默认不显示LISTEN相关。
-t (tcp) 仅显示tcp相关选项。
-u (udp) 仅显示udp相关选项。
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态。

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。

LISTEN和LISTENING的状态只有用-a或者-l才能看到。

4.2 返回参数解释

Active UNIX domain sockets 有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。

列名解释:
Proto:显示连接使用的协议。
RefCnt:表示连接到本套接口上的进程号。
Types:显示套接口的类型。
State:显示套接口当前的状态。
Path:表示连接到套接口的其它进程使用的路径名。

4.3 常用netstat相关命令

1、列出所有端口
netstat -a

2、列出所有 tcp 端口
netstat -at

3、列出所有 udp 端口
netstat -au

4、只显示监听端口
netstat -l

这个l就是listening,监听状态

只列出所有监听 tcp 端口 #netstat -lt

只列出所有监听 udp 端口 #netstat -lu

列出所有监听 UNIX 端口 #netstat -lx

5、显示所有端口的统计信息
netstat -s

显示 TCP 或 UDP 端口的统计信息#netstat -st 或 -su

6、 输出中显示 PID 和进程名称 #netstat -p
p就是PID/Program name,这样你执行就会增加一列,

比如netstat -atp 这就是查看全部的tcp的信息,展示pid那一列

7、以数字形式,显示地址和端口
netstat -n。将会使用数字代替那些名称。
同样可以加速输出,因为不用进行比对查询。
netstat -an

8、持续输出 netstat 信息 #netstat -c
netstat -at -c 5

9、找出程序运行的端口
netstat -ap | grep ':80'

10、查看连接某服务端口最多的的IP地址(前20个)
netstat -nat | grep "10.1.62.23:443" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20

11、TCP各种状态列表
netstat -nat |awk '{print $6}' # 6是第六列

统计数量
netstat -nat |awk '{print $6}'|sort|uniq -c

排序
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

12、直接统计tcp数量监听的数量
netstat -ant | wc -l

linux 查看外网ip命令

curl ifconfig.me

posted @ 2021-10-07 20:06  技术改变命运Andy  阅读(589)  评论(0编辑  收藏  举报