每日linux——网络命令2

netstat命令

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

netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]

从整体上看,netstat的输出结果可以分为两个部分:

一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。

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

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

套接口类型:

-t :TCP

-u :UDP

-raw :RAW类型

–unix :UNIX域类型

–ax25 :AX25类型

–ipx :ipx类型

–netrom :netrom类型

状态说明:

LISTEN:侦听来自远方的TCP端口的连接请求

SYN-SENT:再发送连接请求后等待匹配的连接请求(如果有大量这样的状态包,检查是否中招了)

SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认(如有大量此状态,估计被flood攻击了)

ESTABLISHED:代表一个打开的连接

FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认

FIN-WAIT-2:从远程TCP等待连接中断请求

CLOSE-WAIT:等待从本地用户发来的连接中断请求

CLOSING:等待远程TCP对连接中断的确认

LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认(不是什么好东西,此项出现,检查是否被攻击)

TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认

CLOSED:没有任何连接状态

列出所有端口
netstat -a

显示当前UDP连接状况
netstat -nu

显示UDP端口号的使用情况
netstat -apu

显示网卡列表
netstat -i

显示组播组的关系
netstat -g

显示网络统计信息
netstat -s

显示监听的套接口
netstat -l

显示所有已建立的有效连接
netstat -n

显示关于以太网的统计数据
netstat -e

显示关于路由表的信息
netstat -r

列出所有 tcp 端口
netstat -at

ss命令

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

ss [参数]
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 ]

telnet命令

执行telnet指令开启终端机阶段作业,并登入远端主机。

telnet[参数][主机]

命令参数

-8 允许使用8位字符资料,包括输入与输出。

-a 尝试自动登入远端系统。

-b<主机别名> 使用别名指定远端主机名称。

-c 不读取用户专属目录里的.telnetrc文件。

-d 启动排错模式。

-e<脱离字符> 设置脱离字符。

-E 滤除脱离字符。

-f 此参数的效果和指定"-F"参数相同。

-F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。

-k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。

-K 不自动登入远端主机。

-l<用户名称> 指定要登入远端主机的用户名称。

-L 允许输出8位字符资料。

-n<记录文件> 指定文件记录相关信息。

-r 使用类似rlogin指令的用户界面。

-S<服务类型> 设置telnet连线所需的IP TOS信息。

-x 假设主机有支持数据加密的功能,就使用它。

-X<认证形态> 关闭指定的认证形态。

rcp命令

rcp代表“remote file copy”(远程文件拷贝)。该命令用于在计算机之间拷贝文件。

rcp [参数] [源文件] [目标文件]

命令参数

-r 递归地把源目录中的所有内容拷贝到目的目录中。要使用这个选项,目的必须是一个目录。

-p 试图保留源文件的修改时间和模式,忽略umask。

-k 请求rcp获得在指定区域内的远程主机的Kerberos 许可,而不是获得由krb_relmofhost⑶确定的远程主机区域内的远程主机的Kerberos许可。

-x 为传送的所有数据打开DES加密。这会影响响应时间和CPU利用率,但是可以提高安全性。如果在文件名中指定的路径不是完整的路径名,那么这个路径被解释为相对远程机上同名用户的主目录。如果没有给出远程用户名,就使用当前用户名。如果远程机上的路径包含特殊shell字符,需要用反斜线(\)、双引号(”)或单引号(’)括起来,使所有的shell元字符都能被远程地解释。需要说明的是,rcp不提示输入口令,它通过rsh命令来执行拷贝。

directory 每个文件或目录参数既可以是远程文件名也可以是本地文件名。远程文件名具有如下形式:rname@rhost:path,其中rname是远程用户名,rhost是远程计算机名,path是这个文件的路径。

scp命令

scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。

scp [参数] [原路径] [目标路径]

命令参数

-1 强制scp命令使用协议ssh1

-2 强制scp命令使用协议ssh2

-4 强制scp命令只使用IPv4寻址

-6 强制scp命令只使用IPv6寻址

-B 使用批处理模式(传输过程中不询问传输口令或短语)

-C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)

-p 保留原文件的修改时间,访问时间和访问权限。

-q 不显示传输进度条。

-r 递归复制整个目录。

-v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。

-c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。

-F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。

-i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。

-l limit 限定用户所能使用的带宽,以Kbit/s为单位。

-o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式,

-P port 注意是大写的P, port是指定数据传输用到的端口号

-S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

以上内容参考:
netstat
ss
telnet
rcp
scp

### Linux 命令详解及使用教程 #### Split命令解析 Split命令Linux用户在文件处理方面的一个强大工具。此命令允许用户分割大文件成更小的部分,这有助于提高备份、恢复以及文件传输的工作效率[^1]。 对于split的具体应用,可以利用其多种参数来实现不同的需求: - `-b` 参数用于指定每个分片的大小; - `-l` 或者 `--lines=NUMBER` 可以按照每行的数量来进行切割; - 使用 `-d` 来启用数字后缀而不是字母,默认情况下会创建名为'xaa', 'xab'... 的文件; 示例代码如下所示: ```bash split -b 10m largefile.txt smallfile_ ``` 这段脚本将会把largefile.txt拆分成多个不超过10MB的小文件,并命名为smallfile_aa, smallfile_ab等。 #### Vim编辑器介绍 Vim是一款由Vi发展而来的高级文本编辑器,在Linux环境中非常流行。它不仅继承了Vi的优点——操作简便且功能全面,而且作为大多数Linux版本中的预安装软件,提供了丰富的扩展性和自定义能力[^2]。 进入vim之后有三种主要的操作模式:普通模式(Normal Mode)、插入模式(Insert Mode)和可视模式(Visual Mode),通过按Esc键可以在这些模式间切换。为了更好地理解vim的功能,下面给出一段简单的Python程序编写过程为例: 启动vim并打开新文档: ```bash vim myscript.py ``` 接着按下i键进入插入模式开始编码,完成后退出至普通模式保存更改: ```python def hello_world(): print("Hello world!") ``` 最后执行`:wq`指令存盘并离开vim环境[^4]。 #### CronTab定时任务设置指南 CronTab服务使得管理员能够安排周期性的后台作业自动运行于特定时间点或间隔内。要新建一个定期执行的任务计划,可以通过vi或其他任何支持的文本编辑器建立相应的shell脚本来完成这项工作[^3]。 例如,假设想要每天凌晨两点钟进行一次MySQL数据库本地备份,则可参照以下步骤配置crontab条目: 先创建备份脚本 `/usr/local/bin/mysql-local-backup.sh` ,赋予适当权限使其成为可执行文件: ```bash chmod +x /usr/local/bin/mysql-local-backup.sh ``` 随后添加新的cron job记录到用户的个人crontab列表里边去: ```bash crontab -e ``` 追加一行内容代表每日固定时刻触发上述脚本动作: ``` 0 2 * * * /usr/local/bin/mysql-local-backup.sh >> /var/log/mysql_backup.log 2>&1 ``` 这样就实现了自动化维护工作的目的。 #### Uniq命令概述 Uniq是一个用来过滤重复行的实用工具,通常与其他管道命令配合使用。当面对大量数据时,它可以有效地去除连续相同的项目只保留唯一项,从而简化后续分析流程[^5]。 基本语法结构为: ```bash uniq [OPTION]... [INPUT [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值