linux ip 过滤器,Linux系统中的IP和SS命令

本文详细介绍了Linux系统中ip命令和ss命令的使用,ip命令不仅可替代ifconfig,还能进行网络接口配置、路由管理和IP隧道配置等。ss命令则提供了比netstat更详细和高效的网络连接状态信息。通过学习这两个命令,可以更有效地管理Linux网络配置和监控网络连接。
摘要由CSDN通过智能技术生成

66b52468c121889b900d4956032f1009.png

8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

“2009年 Debian 开发者邮件列表宣布放弃使用缺乏维护的net-tools工具包,新发行的Linux版本中历史悠久的ifconfig, netstat等网络相关的命令,还有locate这些命令都没有默认安装,使用ip, ss, net等命令替代了之前的网络操作命令 。

1. IP命令

1.1 IP命令简介

ip 不只是 ifconfig 的一个替代品,这两个命令在结构上有很多不同。即便如此,它们却都用于同一个目的。实际上 ip 命令可以完成下面所有事务:网络接口配置:列出系统上配置了哪些网络接口

查看网络接口的状态

配置网络接口(包括本地环路和以太网)

启用或禁用网络接口

路由配置管理默认静态路由

IP 隧道配置

配置 ARP 或 NDISC 缓存条目

1.2 IP命令使用

1.2.1 网络接口配置显示所有网络接口

多数人使用 ifconfig 做的第一件事就是查看网络接口上分配的 IP 地址。直接终端输入 ifconfig 不带任何参数回车即可看到。那么使用 ip 来做到这点我们只需要这样。显示所有网络接口

ip a

显示所有 IPv4 相关网络接口

ip -4 a

查看特定的网络接口

ip a show wlan0

配置网络接口添加或删除IP地址

ip a add 192.168.80.174 dev eth0

ip a del 192.168.80.174 dev eth0

清除所有接口上的所有地址

ip -s -s a f to 192.168.1.0/24

添加MAC地址

ip link set dev eth0 address 00:0c:29:33:4e:aa

禁用/启用网络接口

ip link set eth0 down

ip link set eth0 up列出正在运行的网络接口

ip link ls up

启用/禁用ARP协议

# ip link set dev eth0 arp on

除了设置IP地址或硬件地址,可以应用于接口的其他配置包括:

1) MTU(最大传输单元)

2) 组播标志

3) 发送队列长度

4) 混杂模式

5) 启用或禁用所有多播模式

设置传输队列长度

ip link set txqueuelen 10000 dev eth0

设置最大传输单元

ip link set mtu 9000 dev eth0

1.2.2 IP路由配置

还可以使用ip 命令来管理系统路由表。

管理路由表查看所有路由表

ip r

添加/删除默认的网关

ip route add default via 192.168.1.254添加路由

ip route add 192.168.1.0/24 dev eth0

删除路由

ip route del 192.168.1.0/24 dev eth0

2. SS命令

ss是Socket Statistics的缩写,用来获取socket统计信息,可以显示和netstat类似的内容。ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

2.1 SS命令参数:

-h, --help帮助信息

-V, --version程序版本信息

-n, --numeric不解析服务名称

-r, --resolve 解析主机名

-a, --all显示所有套接字(sockets)

-l, --listening显示监听状态的套接字(sockets)

-o, --options 显示计时器信息

-e, --extended 显示详细的套接字(sockets)信息

-m, --memory 显示套接字(socket)的内存使用情况

-p, --processes显示使用套接字(socket)的进程

-i, --info显示 TCP内部信息

-s, --summary显示套接字(socket)使用概况

-4, --ipv4 仅显示IPv4的套接字(sockets)

-6, --ipv6 仅显示IPv6的套接字(sockets)

-0, --packet 显示 PACKET 套接字(socket)

-t, --tcp仅显示 TCP套接字(sockets)

-u, --udp仅显示 UCP套接字(sockets)

-d, --dccp仅显示 DCCP套接字(sockets)

-w, --raw仅显示 RAW套接字(sockets)

-x, --unix仅显示 Unix套接字(sockets)

-f, --family=FAMILY 显示 FAMILY类型的套接字(sockets),FAMILY可选,支持 unix, inet, inet6, link, netlink

-A, --query=QUERY, --socket=QUERY

QUERY := {all|inet|tcp|udp|raw|unix|packet|netlink}[,QUERY]

-D, --diag=FILE 将原始TCP套接字(sockets)信息转储到文件

-F, --filter=FILE 从文件中都去过滤器信息

FILTER := [ state TCP-STATE ] [ EXPRESSION ]

2.1 SS命令使用实例:实例1:显示TCP连接命令:

ss -t -a

实例2:显示 Sockets 摘要命令:

ss -s

实例3:列出所有打开的网络连接端口命令:

ss -l

实例4:查看进程使用的socket命令:

ss -pl

实例5:显示所有UDP Sockets命令:

ss -u -a

实例6:显示所有状态为Established的HTTP连接命令:

ss -o state established '( dport = :http or sport = :http )'

实例7:显示TCP连接命令:

ss -t -a

实例8:用TCP 状态过滤Sockets:命令:

ss -4 state FILTER-NAME-HERE

ss -6 state FILTER-NAME-HEREFILTER-NAME-HERE 可以代表以下任何一个:established

syn-sent

syn-recv

fin-wait-1

fin-wait-2

time-wait

closed

close-wait

last-ack

listen

closing

all : 所有以上状态

connected : 除了listen and closed的所有状态

synchronized :所有已连接的状态除了syn-sent

bucket : 显示状态为maintained as minisockets,如:time-wait和syn-recv.

big : 和bucket相反.

实例9:匹配远程地址和端口号命令:

ss dst ADDRESS_PATTERN

ss dst 192.168.1.5

ss dst 192.168.119.113:http

ss dst 192.168.119.113:smtp

ss dst 192.168.119.113:443

实例10:匹配本地地址和端口号命令:

ss src ADDRESS_PATTERN

ss src 192.168.119.103

ss src 192.168.119.103:http

ss src 192.168.119.103:80

ss src 192.168.119.103:smtp

ss src 192.168.119.103:25

实例11:将本地或者远程端口和一个数比较命令:

ss dport OP PORT

ss sport OP PORTOP 可以代表以下任意一个:<= or le : 小于或等于端口号

>= or ge : 大于或等于端口号

== or eq : 等于端口号

!= or ne : 不等于端口号

< or gt : 小于端口号

> or lt : 大于端口号

3. 命令对照表net-toolsiproute2备注arp -naip neigh备注

ifconfigip link备注

ifconfig -aip addr show备注

ifconfig –helpip help备注

ifconfig -sip -s link备注

ifconfig eth0 upip link set eth0 up备注

ipmaddrip maddr备注

iptunnelip tunnel备注

netstatss备注

netstat -iip -s link备注

netstat -gip maddr备注

netstat -lss -l备注

netstat -rip route备注

route addip route add备注

route delip route del备注

route -nip route show备注

vconfigip link备注

4. 参考链接

### 回答1: 要查询Linux上的IP地址和端口号,可以使用以下命令: 1. 查询IP地址:ifconfig 或 ip addr 2. 查询端口号:netstat 或 ss 例如,要查询当前系统IP地址,可以使用以下命令: ifconfig 或 ip addr 要查询当前系统的端口号,可以使用以下命令: netstat -an 或 ss -an 这些命令将显示当前系统的所有网络连接和端口号。您可以使用过滤器来查找特定的IP地址或端口号。 ### 回答2: 在Linux,查询IP和端口号可以使用一些命令和工具。 1. 使用 ifconfig 命令来查询 IP 地址。ifconfig 是 Linux 最常用的网络配置命令,可以列出网络接口的详细信息,在命令行窗口输入 ifconfig 命令即可查询。 2. 使用 ip addr 命令来查询 IP 地址。ip addr 是新一代 Linux 网络配置命令,功能比 ifconfig 更强大,可以查询网卡的详细信息和 IP 地址。在命令行窗口输入 ip addr 命令即可查询。 3. 使用 netstat 命令来查询端口号。netstat 是一个常用的网络管理工具,用于在终端上显示所有活动的网络连接和端口号等信息。在命令行窗口输入 netstat -a 命令即可查询所有端口的详细信息。 4. 使用 lsof 命令来查询端口号。lsof 是一个可以列出现有系统文件和网络连接的命令,包括打开的文件和当前正在运行的进程。在命令行窗口输入 lsof -i 命令即可查询当前打开的所有网络连接及其相关信息,包括 PID、IP 地址、端口号等。 总的来说,在Linux查询 IP 和 端口号的方法有很多,以上列举的命令只是其常用的几个。对于不同的需求,可以选择不同的命令和工具来进行查询。 ### 回答3: 在Linux系统,查询IP和端口号是一项常见的操作。通常有多种方法可以实现这一功能,下面我将介绍三种常用的方法: 1. 使用ifconfig命令查询IP地址: ifconfig是Linux系统的一个常用命令,可以用于查询网络接口的信息,其包括IP地址。要查询一个网络接口的IP地址,只需要使用以下命令: ``` ifconfig <interface_name> ``` 其<interface_name>是要查询的网络接口的名称,例如eth0、wlan0等。执行命令后,在返回的信息可以看到该接口的IP地址。 2. 使用netstat命令查询端口号: netstat是Linux系统另一个常用命令,可以用于查询网络连接、路由表等信息。要查询系统打开的端口号,只需要使用以下命令: ``` netstat -ano | grep LISTEN ``` 执行此命令后,会返回所有处于LISTEN状态的网络连接,也即系统正在监听的端口号。在返回信息可以看到端口号、进程ID等信息。 3. 使用ss命令查询端口号: ssLinux系统比netstat更高效的命令,可以用于查询系统的网络连接信息。要查询系统处于监听状态的端口号,只需要使用以下命令: ``` ss -ltn ``` 执行此命令后,会返回所有处于监听状态的网络连接,也即系统正在监听的端口号。在返回信息可以看到端口号、监听地址等信息。 总之,在Linux系统查询IP地址和端口号是一项非常基础的操作,上述三种方法都是实现这一功能的常用方法。希望对大家有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值