Linux下网络命令

目录

需求1-查看本机是否存在22端口

解法1

shell 复制代码
ss -tunlp |grep 22

ss 是一个用于检查套接字统计信息的命令,而 -tunlp 是它的几个选项的组合:
-t 表示显示 TCP 套接字
-u 表示显示 UDP 套接字
-n 表示直接使用 IP 地址,而不是尝试确定符号主机、端口或用户名
-l 表示仅显示监听状态的套接字
-p 表示显示监听端口的进程信息

解法2

shell 复制代码
netstat -tunlp | grep 22

netstat 是一个网络统计工具,用于显示网络连接、路由表、接口统计等信息。

解法3

shell 复制代码
lsof -nPi :22

lsof 是 "List Open Files" 的缩写,用于列出当前系统打开的文件。
-n:不解析 IP 地址,直接显示数字形式。
-P:不解析端口号,直接显示数字形式。
-i:显示打开的网络文件,即网络连接。
:22:指定要查找的端口号,这里是 22,通常用于 SSH 服务。
lsof -nPi :22 命令的作用是列出所有使用端口 22 的网络连接,不进行地址和端口的解析,直接显示它们的数字形式。

需求2-查看其他主机是否存在22端口

解法1

shell 复制代码
telnet 192.168.100.128 22

解法2

shell 复制代码
nc  192.168.100.128 22  

一般用于shell脚本中,查看端口是否打开. 因为输出较少
nc 是 "netcat" 的缩写,它是一个用于网络通信的命令行工具,可以用于创建网络连接、监听网络上的数据流、发送数据到网络上等。
如果该主机的 SSH 服务正在端口 22 上监听,并且连接成功,netcat 将建立一个网络连接

解法3

shell 复制代码
nmap -p22 192.168.100.128

nmap 是一个网络探索和安全扫描工具,它可以用来发现网络上的设备,检测开放的端口,确定运行在网络设备上的服务及其版本信息等
-p 可以指定一个范围端口,如1-100
IP 可以是范围,如192.168.100.0/24

需求3-查看TCP连接

解法1/2

shell 复制代码
ss -ant

netstat -ant

-a:显示所有套接字(包括监听和非监听的)。

需求4-统计80端口tcp连接次数

解法

shell 复制代码
#模拟连接
#ab工具需要yum安装httpd-tools
ab -n 1000000 -c 10 http://localhost/ &> /dev/null &
# ab:Apache Benchmark 工具的命令。
# -n 1000000:指定测试执行的请求数量,这里是 1000000 次请求。
# -c 10:指定并发执行请求的数量,这里是 10 个并发请求。
# http://localhost/:指定要测试的 URL,这里是本地服务器的根目录。
# &:将命令放在后台执行,这样命令会立即返回控制权给终端,不会阻塞当前的 shell 会话。
# >:重定向到 /dev/null 意味着丢弃所有的输出,不保存任何结果。
 
#统计
ss -ant | awk 'NR>1&&$4~/:80$/{print $1}' | sort | uniq -c
      7 ESTAB
      2 FIN-WAIT-1
      5 FIN-WAIT-2
      2 LISTEN
  14102 TIME-WAIT
# ss -ant:显示所有 TCP (-t) 和 UDP (-a) 套接字,不解析服务名称(-n),并且只显示监听状态的套接字。
# awk 'NR>1&&$4~/:80$/{print $1}':使用 awk 处理 ss 命令的输出。这里 NR>1 表示跳过第一行(通常是标题行),$4~/:80$/ 是一个正则表达式,匹配第四列以 :80 结尾的行,这通常表示 HTTP 服务监听在端口 80 上。对于匹配的行,print $1 输出该行的第一列,即本地地址。
# sort:对 awk 的输出进行排序。
# uniq -c:对排序后的输出进行去重,并计算每个唯一项出现的次数。

需求5-查看总体网络速度

解法

shell 复制代码
#需要yum安装iftop软件包
iftop -nNPi eth0

iftop 是一个实时带宽监控工具,它显示每个连接的网络子接口的数据流量。
-n:不解析 IP 地址为主机名,直接使用 IP 地址显示。
-N:不解析端口号为服务名称,直接使用端口号显示。
-P:不解析 IP 地址为主机名,并且也不解析 MAC 地址为设备名。
-i:指定监控的网络接口,这里是 eth0。

下图右侧三个数值,分别代表2s,10s,40s

需求6-查看进程流量

解法

shell 复制代码
#需要yum安装nethogs软件包
nethogs 网卡名

#或者可以用
iftop+ss+ps
iftop找出端口+ss找出pid+ps过滤名字

需求7-dns

解法

shell 复制代码
#方法1
[root@ecm ~]# dig www.google.com

; <<>> DiG 9.16.23 <<>> www.google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46352
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.google.com.         200     IN      A       199.16.158.9

;; Query time: 8 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: Mon May 13 20:55:59 CST 2024
;; MSG SIZE  rcvd: 59

#方法2
[root@ecm ~]# host www.google.com
www.google.com has address 199.16.158.9
www.google.com has IPv6 address 2001::1

#方法3
[root@ecm ~]# nslookup www.google.com
Server:         114.114.114.114
Address:        114.114.114.114#53

Non-authoritative answer:
Name:   www.google.com
Address: 31.13.94.10
Name:   www.google.com
Address: 2001::1

需求8-traceroute到baidu

解法

shell 复制代码
traceroute -nI www.baidu.com
traceroute to www.baidu.com (180.101.50.188), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  10.39.30.182  0.948 ms  0.947 ms  1.005 ms
 5  10.39.23.246  2.180 ms  2.617 ms  3.064 ms
 6  10.39.3.250  5.112 ms  4.943 ms  5.440 ms
 7  * * *
 8  58.213.94.197  0.921 ms  0.842 ms  0.824 ms
 9  * * *
10  58.213.96.66  1.810 ms  1.877 ms  1.891 ms
11  * * *
12  * * *
13  * * *
14  180.101.50.188  0.578 ms  0.484 ms  0.534 ms

linux下的traceroute默认发送UDP,可能会没法到达baidu

增加-I选项,使得traceroute发送的是icmp数据包,即可访问到

需求9-查看路由

解法

shell 复制代码
[root@ecm ~]# ip ro
default via 10.0.0.1 dev eth0 proto dhcp metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.124 metric 100
169.254.169.254 via 10.0.0.1 dev eth0 proto dhcp metric 100

[root@ecm ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
169.254.169.254 10.0.0.1        255.255.255.255 UGH   100    0        0 eth0
相关推荐
爱编程的小金毛球球6 分钟前
-bash: /home/xxx/anaconda3/bin/conda: No such file or directory
linux·conda·bash
hgdlip10 分钟前
家里电脑ip地址怎么设置?详细指导
网络·tcp/ip·智能路由器·家里电脑
安步当歌1 小时前
【WebRTC】视频发送链路中类的简单分析(下)
网络·音视频·webrtc·视频编解码·video-codec
Biomamba生信基地2 小时前
Linux也有百度云喔~
linux·运维·服务器·百度云
米饭是菜qy2 小时前
TCP 三次握手意义及为什么是三次握手
服务器·网络·tcp/ip
yaoxin5211232 小时前
第十九章 TCP 客户端 服务器通信 - 数据包模式
服务器·网络·tcp/ip
new_abc2 小时前
Ubuntu 22.04 ftp搭建
linux·运维·ubuntu
flying robot2 小时前
RPM的使用
linux
鹿鸣天涯2 小时前
‌华为交换机在Spine-Leaf架构中的使用场景
运维·服务器·网络