【网路安全 --- Linux,window常用命令】网络安全领域,Linux和Windows常用命令,记住这些就够了,收藏起来学习吧!!

一,Linux

1-1 重要文件目录

1-1-1 系统运行级别

/etc/inittab   

1-1-2 开机启动配置文件

/etc/rc.local
/etc/rc.d/rc[0~6].d

## 当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在 /etc/init.d 目录下,然后在 /etc/rc.d/rc*.d 中建立软链接即可
ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

## 此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动;如果是K开头的脚本文件,代表运行级别加载时需要关闭的。

1-2-3 系统日志

##日志默认存放位置: 
	/var/log/
## 查看日志配置情况: 
	more /etc/rsyslog.conf

image-20230819150940265

1-2-4 验证和授权方面的信息

/var/log/secure

1-2-5 网卡配置文件

/etc/sysconfig/network-scripts

VM虚拟机:ifcfg-ens33
VM虚拟机:ifcfg-ens192
云主机:ifcfg-eth0
物理机:em1 em2 em3 em4

TYPE="Ethernet"	
//网卡类型(以太网)
PROXY_METHOD="none"	
//无代理
BROWSER_ONLY="no"
BOOTPROTO="static"	
//即boot protocol(启动协议),网卡获取IP地址的方式,DHCP动态,STATIC静态
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"	
//网卡名称
DEVICE="ens33"
ONBOOT="yes"
//开始是否启动网卡
IPADDR=
//IP协议中提供的逻辑地址,即IP地址 xxx.xxx.xxx.xxx,可通过ip a查询分配的ip地址
NETMASK=
//子网掩码,一般为255.255.255.0
//快速寻址  划分子网  
GATEWAY=
//网关,控制数据从一个网段进入另一个网段,相当于家中的路由器,在虚拟机的虚拟网络编辑器中找
DNS1=
//域名解析协议,将域名与ip地址一一对应,一般写成网关
DNS2=
//可以配置成114.114.114.114等

1-2-6 更改主机名

/etc/hostname  文件

hostname set-hostname xxxx
//更改主机名

1-2-7 本地DNS域名解析

/etc/hosts 文件

1-2-8 设置DNS

/etc/resolv.conf

1-2-9 全局配置文件,代理,路径

/etc/profile 

1-2-10 用户级别操作

~/.bash_profile 文件

1-2-11 查看shell

/etc/shells 文件

1-2-12 Bash全局配置文件,全局操作

/etc/bashrc 文件

1-2-13 用户级别

~/.bashrc 文件

1-2-14 内核版本

/etc/redhat-release 文件

1-2-15 运行级别

etc/inittab 文件

1-2-16 root用户权限

/etc/sudoers 文件

1-2-17 yum软件仓库源

/etc/yum.repos.d 文件

1-2-18 文件安装解压缩…

/usr/local 目录

1-2-19 内核配置文件(内核转发 内核端口范围)

/etc/sysctl.conf 文件

1-2-20 日志文件

/usr/log 目录

日志文件
messages	## 系统级日志文件
secure		## 安全日志文件
dmesg		## 硬件信息加载情况日志文件
cron		## 定时任务日志文件
wtmp		## 登录者信息文件
lastlog 	## 用户近期登录情况

1-2-21 定时任务

/etc/crontab 目录

cron.daily
cron.hourly
cron.monthly
cron,weekly
cron.d

1-2- 其他

/etc/sysconfig/network-scripts/ifcfg-eth0         //网络接口配置文件
/etc/udev/rules.d/70-persistent-net.rules         //网络的逻辑名称
/etc/group                                        //组配置文件
/etc/passwd                                       //用户配置文件
/bin/bash                                         //用户shell所在目录
/etc/profile                                      //系统级用户环境变量profile
/etc/bashrc                                       //系统级的hashrc文件
/etc/fstab                                        //磁盘挂载点所在的文件
/etc/yum.repos.d                                  //yum库源文件所在目录
/etc/init/rcS.conf                                //系统启动选项
/etc/security/limits.conf                         //用户限制所在目录
/etc/selinux/config                               //SeLinux配置文件
/etc/inittab                                      //init的配置文件,设置系统启动界面(命令行、图形界面)



/etc/sysconfig/network   // (机子名称配置文件)
/etc/sysconfig/network-scripts/ifcfg-eth0  // (网络接口配置文件,用于IP地址的设置)
/etc/resolv.conf   // ( DNS服务器配置文件,最多3条DNS配置信息 )
/etc/hosts  // ( 本地主机名称解释文件 )
/etc/sysconfig/i18n   //  ( 系统字体配置文件 )
/etc/exports   //( nfs服务器的配额文件)
/etc/syslog.conf // ( syslogd服务的配置文件)
/etc/crontab  // ( 系统任务配置文件 )
/etc/spool/cron/root  // ( root的cron任务文件 )
/etc/rc.local  //( 系统启动完成初始化脚本的执行后,执行该脚本,将共享文件挂载配置在该脚本中 )
/etc/rc.d/rc.sysinit   // ( 系统启动时被调用执行的系统初始化脚本 )
/etc/inittab  // ( 系统运行中第一个进程INIT的配置文件,INIT进程运行后将按照该文件中的配置内容启动系统中需要运行的程序 )
/etc/init.d   // ( 系统服务启动程序脚本 )
/etc/profile.d/   // ( 系统别名自定义文件夹 )
/root/.bash_history  // ( root的命令历史文件,其用户保存在“/home/用户”文件夹下)
/etc/bash/profile 和 /etc/bashrc    // (环境变量配置文件)
/home/用户/.bash_profile 和 /home/用户/.bashrc //  (用户的环境变量配置文件)
/etc/skel  //(初始的用户配置模板,当用户对自己的配置文件做了错误的设置后,可拷贝该目录中模板文件复制到用户目录进行初始化的恢复)

/etc/Shells  // (当前系统中能使用的shell程序列表)
/etc/passwd  // (用户帐号文件,保存所有的用户账号)
/etc/shadow  // (保存密文的用户口令,仅root用户能够查看)



/root/.ssh/authorized_keys
/root/.ssh/id_rsa
/root/.ssh/id_ras.keystore
/root/.ssh/known_hosts //记录每个访问计算机用户的公钥
/etc/passwd
/etc/shadow
/etc/my.cnf //mysql配置文件
/etc/httpd/conf/httpd.conf //apache配置文件
/root/.bash_history //用户历史命令记录文件
/root/.mysql_history //mysql历史命令记录文件
/proc/mounts //记录系统挂载设备
/porc/config.gz //内核配置文件
/var/lib/mlocate/mlocate.db //全文件路径
/porc/self/cmdline //当前进程的cmdline参数

1-2 常用指令

1-2-1 telnet

查看远程主机某个端口号是否开启
telnet 101.132.222.28 3306    ## 查看某个端口是否开放 ------------------ 需要安装 yum install telnet

1-2-2 netstat

## netstat命令是Linux下的一个网络统计工具,用于显示网络连接、路由表、接口统计等信息。以下是一些常用的netstat命令参数:

- -a:## 显示所有连接和监听端口。
- -n:## 以数字形式显示地址和端口号,不进行域名解析。
- -p:## 显示进程标识符和程序名称,此选项需要root权限。
- -t:## 仅显示TCP连接。
- -u:## 仅显示UDP连接。
- -l:## 仅显示监听状态的套接字。
- -r:## 显示路由表信息。
- -i:## 显示网络接口信息。
- -s:## 显示网络统计信息,包括协议、接口、发送和接收的数据包数量等。
- -c:## 每隔指定秒数刷新一次网络状态信息。

例如,要查看所有TCP连接,可以使用以下命令:
netstat -lnt

1-2-3 nslookup / dig

## 查询dns域名记录
nslookup  baidu.com     ## ------------------------------------ 需要安装   yum install bind-utils -y

## Linux中的dig命令是一个DNS查询工具,用于查询DNS记录。它支持多种类型的DNS查询,包括A、AAAA、MX、NS等记录类型。

- +short:## 使用缩写形式显示结果。
- +noall:## 不显示所有记录。
- +answer:## 只显示应答部分。
- +stats:## 显示统计信息。
- +time=X:## 设置超时时间为X秒。
- +retry:##尝试重新查询DNS服务器直到成功或达到最大重试次数。
- +filter=X:## 只显示符合指定条件的记录。
- +a:## 显示所有类型的记录。
- +type=X:## 只显示指定类型的记录。
- +tcp:## 只显示TCP类型的记录。
- +udp:##只显示UDP类型的记录。
- +name:##只显示指定名称的记录。
- +class=X:## 只显示指定类别的记录。
- +rdatatype=X:## 只显示指定数据类型的记录。
- +srvtype=X:## 只显示指定服务类型的记录。
- +soa:## 只显示SOA记录。
- +mx:## 只显示MX记录。
- +ptr:##只显示PTR记录。
- +ns:## 只显示NS记录。
- +cname:## 只显示CNAME记录。
- +inaddr:## 只显示IP地址记录。
- +isdn:## 只显示ISDN记录。
- +arpa:## 只显示ARPA记录。
- +authority:## 只显示授权记录。
- +ixfr:## 只显示IXFR记录。
- +proxy:## 只显示代理记录。
- +ftp:### 只显示FTP记录。
- +hinfo:## 只显示主机信息记录。
- +nis:# 只显示NIS记录。
- +server=X:## 只显示指定服务器的记录。
- +nsec3_response:## 只显示NSEC3响应记录。
- +nsec3_query:只显示NSEC3查询记录。
- +bits:## 只显示位标记记录。
- +timestamp:# 只显示时间戳记录。

1-2-4 查看提供某个命令的软件包

yum provides  软件包名字

1-2-5 who | w | uptime

who ## 查看当前登录用户(tty本地登陆 ,pts远程登录,比如用xshell这种工具连接登录上去的
w ## 查看系统信息,想知道某一时刻用户的行为
uptime ## 查看登陆多久、多少用户,负载

1-2-6 查看特权用户

awk -F: '$3==0{print $1}' /etc/passwd

1-2-7 查看能远程登录用户

awk '/\$1|\$6/{print $1}' /etc/shadow

1-2-8 检查sudo 权限的用户

more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

1-2-9 查看某个pid对应的程序文件

ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)

1-2-10 查看系统的运行级别

## 查看运行级别命令 
runlevel

vi /etc/inittab
id=3:initdefault ## 系统开机后直接进入哪个运行级别

1-2-11 建立软连接

ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

## 此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动;如果是K开头的脚本文件,代表运行级别加载时需要关闭的。

1-2-12 服务

第一种修改方法:

chkconfig [--level 运行级别] [独立服务名] [on|off]
chkconfig –level  2345 httpd on ## 开启自启动
chkconfig httpd on ## (默认level是2345)

第二种修改方法:

修改/etc/re.d/rc.local 文件 
加入 /etc/init.d/httpd start

1-2-13 查看已安装的服务

RPM包安装的服务

chkconfig --list ### 查看服务自启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond ## 查看当前服务

系统在3与5级别下的启动项
chkconfig --list | grep "3:启用\|5:启用"  ## 中文环境
chkconfig --list | grep "3:on\|5:on"  ## 英文环境

源码包安装的服务

## 查看服务安装位置 ,一般是在/user/local/
service httpd start
## 搜索/etc/rc.d/init.d/ 查看是否存在

1-2-14 nc命令

g<网关> ## 设置路由器跃程通信网关,最多可设置8个。
-G<指向器数目> ## 设置来源路由指向器,其数值为4的倍数。
-h ## 在线帮助。
-i<延迟秒数> ## 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,## 管控传入的资料。
-n ## 直接使用IP地址,而不通过域名服务器。
-o<输出文件> ## 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> ## 设置本地主机使用的通信端口。
-r ## 乱数指定本地与远端主机的通信端口。
-s<来源位址> ## 设置本地主机送出数据包的IP地址。
-u ## 使用UDP传输协议。
-v ## 显示指令执行过程。
-w<超时秒数> ## 设置等待连线的时间。
-z ##使用0输入/输出模式,只在扫描通信端口时使用。

1-2-15 lcx端口转发

## LCX端口转发是一种强大的网络工具,它可以将本地端口与远程端口进行连接,实现跨网络的数据传输。使用LCX端口转发,我们可以轻松地在不同的网络之间建立安全、稳定的连接,方便地进行远程访问、数据传输和网络测试等操作。

1. 参数介绍:
	-listen:指定本地监听端口,即要进行转发的本地端口。
	-forward:指定要转发到的远程主机和端口。
	-fwdType:指定转发类型,支持TCP、UDP和HTTP。
	-bindTo:指定要绑定的本地地址,可以是本机IP地址或特定的网络接口。
	-xorKey:指定要使用的XOR加密密钥,用于保护转发的数据。
	-verbose:显示更详细的运行日志信息。
	-compress:启用数据压缩功能,提高数据传输效率。
	-kill:关闭所有活动转发并退出程序。
	
2,简单使用	
	a. 端口转发: 
        lcx -listen <本地端口> -forward <远程主机>:<远程端口>/n
        例如: 
        lcx -listen 8888 -forward 192.168.1.100:8888/n
	## 这条命令将本地的8888端口转发到远程主机192.168.1.100的8888端口。
	
	b. 指定绑定地址: 
        lcx -listen <本地地址>:<本地端口> -forward <远程主机>:<远程端口> -bindTo <绑定地址>/n 
        例如: 
        lcx -listen 192.168.0.10:8888 -forward 192.168.1.100:8888 -bindTo 192.168.0.10/n
	## 这条命令将本地地址为192.168.0.10的8888端口转发到远程主机192.168.1.100的8888端口,并绑定到本地地址192.168.0.10。
	
	
## lcx.exe是一个端口转发工具,有Windows版和Linux版两个版本,Windows版是lcx.exe,Linux版为portmap
Windows版使用方法如下:
    lcx有两大功能:
        1)端口转发(listen和slave成对使用)
        2)端口映射(tran)
        
        端口转发:
            Lcx -listen <监听slave请求的端口><等待连接的端口>
            Lcx -slave <攻击机IP><监听端口><目标IP><目标端口>
        端口映射:
        	Lcx -tran<等待连接的端口><目标IP><日标端口>

        
1、lcx 内网端口转发
	## 内网主机上执行:lcx.exe –slave 公网主机ip 公网主机端口 内网主机ip 内网主机端口
		lcx.exe -slave 公网主机ip 4444 127.0.0.1 3389
		## 意思是把内网主机的 3389 端口转发到具有公网ip主机的 4444 端口


	## 公网主机 上执行 Lcx.exe –listen 公网主机端口1 公网主机端口2
		lcx.exe –listen 4444 5555
		## 意思是监听公网主机本机的 4444 端口请求,并将来自 4444 端口的请求传送给 5555 端口。
		## 此时,RDP 连接,Windows 命令行下输入mstsc,即可打开远程桌面连接:


2、本地端口转发
	## 由于防火墙限制,部分端口如3389无法通过防火墙,此时可以将该目标主机的3389端口透传到防火墙允许的其他端口,如53端口,
	## 目标主机上执行:
	lcx -tran 53 目标主机ip 3389
	## 这时我们可以直接远程桌面连接到到 目标主机IP:53
	## 注:软件可能会被杀软查杀,可自行寻找免杀版本。


Linux版使用方法:
    ## 先在具有公网ip的主机上执行:
        ./portmap -m 2 -p1 6666 -h2 公网主机ip -p2 7777
        ## 意思是监听来自6666端口的请求,将其转发到7777端口

    ## 再在内网主机上执行:
        ./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 公网主机ip -p2 6666
        ## 意思就是将内网主机22端口的流量转发到公网主机的6666端口。

 	## 然后在Linux系统命令行下执行
		ssh 公网主机ip 7777
		##即可连接内网主机。

1-2-16 安装Nginx

## 比如centos7的,使用epel源安装
yum install epel-release -y
yum install nginx -y
systemctl start nginx.service
systemctl enable nginx.service

二,Windows

1-1 常用指令

1-1-1 telnet

## 检测端口开放
telnet 101.132.222.28 3306    ## 查看某个端口是否开放

1-1-2 tracert

## 路由跳转记录
tracert 101.132.222.28   ## 路由跳转记录

1-1-3 系统服务

msconfig、services.msc、sc 、tasklist /svc 
## 注:/svc是详细查看一个宿主进程对应的多项服务 。
## SC是Service Control Manager的缩写,是Windows操作系统中的一个命令行工具,用于管理服务。它可以启动、停止、暂停、恢复和删除服务,还可以查询服务的详细信息。SC命令的参数包括:

- server:## 指定服务所在的远程服务器的名称。该名称必须使用通用命名约定 (UNC) 格式(例如 \\myserver)。
- servicename:## 指定 getkeyname 操作返回的服务名称。
- command:## 指定要执行的命令。
- start:## 启动服务。
- stop:## 停止服务。
- pause:##暂停服务。
- resume:## 恢复服务。
- remove:## 删除服务。

1-1-4 taskkill

taskkill /f /PID 进程号 ## 其中 /f 表示强杀、强制结束

/S    system           ## 指定要连接的远程系统。
/U    [domain\]user    ## 指定应该在哪个用户上下文执行这个命令。
/P    [password]       ## 为提供的用户上下文指定密码。如果忽略,提示输入。
/FI   filter           ## 应用筛选器以选择一组任务。允许使用 "*"。例如,映像名称 eq acme*
/PID  processid        ## 指定要终止的进程的 PID。使用 TaskList 取得 PID。
/IM   imagename        ## 指定要终止的进程的映像名称。通配符 '*'可用来指定所有任务或映像名称。
/T                     ## 终止指定的进程和由它启用的子进程。
/F                     ## 指定强制终止进程。

/?                     ## 显示帮助消息。

2 筛选器:
    筛选器名      有效运算符                有效值
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING |NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    映像名称
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    会话编号。
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为 hh:mm:ss。 hh - 时, mm - 分,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
    USERNAME      eq, ne                    用户名,格式为 [domain\]user
    MODULES       eq, ne                    DLL 名称
    SERVICES      eq, ne                    服务名称
    WINDOWTITLE   eq, ne                    窗口标题
    说明
    ----
    1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'2) 远程进程总是要强行 (/F) 终止。
    3) 当指定远程机器时,不支持 "WINDOWTITLE""STATUS" 筛选器。


3、例如
    TASKKILL /IM notepad.exe
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM cmd.exe /T
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
eventvwr.msc     ## --------------- 事件查看器

1-1-5 del

 del /ah /f DLLHOST.exe  -------------- ## 其中 /ah 是只删除所有隐藏文件的意思
 
/p  ## 提示您确认是否删除指定的文件。
/f  ## 强制删除只读文件。
/s  ## 从当前目录及其所有子目录中删除指定文件。显示正在被删除的文件名。
/q  ## 指定安静模式。不对删除确认作出提示。
/a  ## 根据指定的属性删除文件。

1-1-6 dir

dir /s rundll32.exe

/p	## 一次显示一屏列表。要查看下一个屏幕,请按任意键。
/q	## 显示文件所有权信息
/w	## 以宽格式显示列表,每行最多包含五个文件名或目录名
/d	## 以与 /w 相同的格式显示列表,但文件按列排序。
/a	## 仅显示具有您指定属性的目录和文件的名称。
/t  ## 指定要显示或用于排序的时间字段。可用的时间字段值为:c - Creationa - 最后访问w - 最后写入
/s	## 列出指定目录和所有子目录中指定文件名的每次出现。
/b	## 显示目录和文件的裸列表,没有其他信息。 /b 参数覆盖 /w。
/l	## 使用小写显示未排序的目录名和文件名。
/n	## 在屏幕的最右侧显示带有文件名的长列表格式。
/x	## 显示为非 8dot3 文件名生成的短名称。显示与 /n 的显示相同,但在长名称之前插入短名称。
/c	## 以文件大小显示千位分隔符。这是默认行为。使用 /-c 隐藏分隔符。
/4	## 以四位数格式显示年份。
/r	## 显示文件的备用数据流。
/?	## 在命令提示符处显示帮助。

1-1-7 attrrib

## attrib是dos和Windows系统中的一个用于更改文件或目录属性的命令,它的语法格式如下:

attrib [+r | -r] [+a | -a] [+s | -s] [+h | -h] [驱动器:][路径]文件名 [/s [/d]]

attrib 命令有4个常用参数:
r ## 读
a ## 存档
s ## 系统
h ## 隐藏分别为、、、等属性。这些参数用来更改文件或目录的属性,其中加号(+)代表添加属性,减号(-)代表取消属性。

## 例如,+r 表示将文件设置为“只读”, -r 表示将其取消“只读”属性;

## +h 表示将文件的隐藏属性设置为“是”,-h 则表示取消这个属性。

## attrib 命令除了可以更改文件的属性,还可以使用 /d 和 /s 参数循环遍历目录中的文件和文件夹。其中,/d 参数用于更改目录的属性, /s参数用于同时更改当前目录下所有子目录中的文件和文件夹的属性。


## 实例1:将文件设置为“只读”
attrib +r c:\test.txt

如果想要取消某个文件的只读属性
attrib -r c:\test.txt


## 实例2:将目录以及目录下的文件和文件夹设置为隐藏
首先,先用命令行生成一个mydoc文件夹
if not exist c:\mydoc md c:\mydoc

## 然后再创建3个文件夹
for /l %i in (1 1 3) do md c:\mydoc\%i

## 在命令提示符下输入如下命令:
attrib +h /s /d c:\mydoc

## 如果想要取消某个目录及其子目录下的所有隐藏属性,输入如下命令即可:
attrib -h /s /d c:\mydoc

1-1-8 指定我们自己的终端

 setp c:\www\1111\cmd.exe

1-1-9 net user

## 1、增加用户
	net user username password /add
	
## 2、删除用户
	net user username /del
	
## 3、修改用户密码
	net user username newpassword

## 4、升级用户为管理员
	net localgroup administrators username /add

## 5、将管理员账户降为普通用户
	net localgroup administrators username /del

## 6、查看所有用户
	net user

## 7、查看特定用户信息
	net user username

## 8、激活特定用户
	net user username /active:yes

## 9、禁用特定用户
	net user username /active:no

## 10、查看特定用户组所包含的用户
	net localgroup groupname



1-1-10 快速查找未打补丁的EXP

## 快速查找未打补丁的 exp,可以最安全的减少目标机的未知错误,以免影响业务。 命令行下执行检测未打补丁的命令如下:

systeminfo>micropoor.txt&(for %i in ( KB977165 KB2160329 KB2503665 KB2592799 KB2707511 KB2829361 KB2850851 KB3000061 KB3045171 KB3077657 KB3079904 KB3134228 KB3143141 KB3141780 ) do @type micropoor.txt|@find /i "%i"|| @echo %i you can fuck)&del /f /q /a micropoor.txt

1-1-11 sc

SC 是用于与服务控制管理器和服务进行通信的命令行程序。提供的功能类似于“控制面板”中“管理工具”项中的“服务”。

创建
# 安装服务
## 服务名称是redis,
C:\Windows\system32>sc create redis binpath= "D:\work\databases\Redis-x64-3.2.100\redis-server.exe --service-run D:\work\databases\Redis-x64-3.2.100\redis.windows.conf"
## 直接创建时也能设置显示名称
C:\Windows\system32>sc create redis binPath=D:\work\databases\Redis-x64-3.2.100\redis-server.exe DisplayName= redis

查询
# 使用query参数
C:\Windows\system32>sc query redis

SERVICE_NAME: redis
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 1077  (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

# 使用queryex参数(比query查询多出两个结果)
C:\Windows\system32>sc queryex redis

SERVICE_NAME: redis
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 1077  (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 0
        FLAGS              :

启动
# 先查询服务状态(STOPPED)
C:\Windows\system32>sc query redis

SERVICE_NAME: redis
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 1077  (0x435)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

# 启动服务(RUNNING)
C:\Windows\system32>sc start redis

SERVICE_NAME: redis
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 8896
        FLAGS              :

停止
# 直接停止
sc stop redis

# 添加停止原因和备注
sc stop redis 1:2:8 "must stop redis"

配置
# 配置服务的显示名称,这里将服务的显示名字redis改成REDIS显示(displayname不区分大小写,且等号后有空格)
C:\Windows\system32>sc config redis displayname= REDIS
[SC] ChangeServiceConfig 成功

# 配置服务描述
C:\Windows\system32>sc description redis "redis的描述内容"
[SC] ChangeServiceConfig2 成功

删除
#删除服务
C:\Windows\system32>sc delete redis
[SC] DeleteService 成功

# 删除后再查看
C:\Windows\system32>sc query redis
[SC] EnumQueryServicesStatus:OpenService 失败 1060:

指定的服务未安装。

实例
手动启动
sc Create 手动 binPath= "cmd /K start" type= own type= interact
sc start 手动

sc Create 手动启动 binPath= "cmd /K start" type= own type= interact start= DEMAND 
sc start 手动启动


测试
sc Create aini binPath= "cmd /K start" type= own type= interact start= AUTO  
sc start aini

1-1-12 netsh

a) 启用防火墙
  C:\>netsh firewall set opmode mode = enable

b) 关闭防火墙
  C:\>netsh firewall set opmode mode = disable

c) 重置防火墙
  C:\>netsh firewall reset

  1、查看网络配置
  netsh interface ip show {
    
    选项}
  {
    
    选项}可以是:
      address - ## 显示 IP 地址配置。
      config - ## 显示 IP 地址和更多信息。
      dns - ## 显示 DNS 服务器地址。
      icmp - ### 显示 ICMP 统计。
      interface - ## 显示 IP 接口统计。
      ipaddress - ## 显示当前 IP 地址
      ipnet - ## 显示 IP 的网络到媒体的映射。
      ipstats - ## 显示 IP 统计。
      joins - ## 显示加入的多播组。
      offload - ## 显示卸载信息。
      tcpconn - ##显示 TCP 连接。
      tcpstats - ## 显示 TCP 统计。
      udpconn - ## 显示 UDP 连接。
      udpstats - ## 显示 UDP 统计。
      wins - ## 显示 WINS 服务器地址。
      
  2、配置接口IP/网关IP
  netsh interface ip set address "本地连接" static 192.168.1.100 255.255.255.0 192.168.1.253
  ------------------------------
  C:\>netsh interface ip show config
      接口 "本地连接" 的配置
      DHCP 启用 否
      IP 地址 192.168.1.100
      子网掩码 255.255.255.0
      默认网关: 192.168.1.253
      GatewayMetric: 0
      InterfaceMetric 0
      静态配置的 DNS 服务器: 202.96.209.134
      静态配置的 WINS 服务器: 无
      用哪个前缀注册: 只是主要
      
  3、配置自动换取IP地址,DNS地址及wins地址
      netsh interface ip set address "本地连接" dhcp
      netsh interface ip set dns "本地连接" dhcp
      netsh interface ip set wins "本地连接" dhcp
      
  4、配置静态IP地址,DNS地址及wins地址
      netsh interface ip set address "本地连接" static 192.168.1.253
      netsh interface ip set dns "本地连接" static 202.96.209.6
      netsh interface ip set wins "本地连接" static 192.168.1.1
      
  5、查看并导出网络配置文件
  C:\>netsh -c interface dump >c:\dump.txt  (">"表示导出。">>"表示追加)
  #========================
  # 接口配置
  #========================
  pushd interface
  reset all
  popd
  # 接口配置结束
  #========================
  # 接口配置
  #========================
  pushd interface ipv6
  uninstall
  popd
  # 接口配置结束
  # ----------------------------------
  # ISATAP 配置
  # ----------------------------------
  pushd interface ipv6 isatap
  popd
  # ISATAP 配置结束
  # ----------------------------------
  # 6to4 配置
  # ----------------------------------
  pushd interface ipv6 6to4
  reset
  popd
  # 6to4 配置结束
  #=============
  # 端口代理配置
  #=============
  pushd interface portproxy
  reset
  popd
  # 端口代理配置结束
  # ----------------------------------
  # 接口 IP 配置
  # ----------------------------------
  pushd interface ip
  # "本地连接" 的接口 IP 配置
      set address name="本地连接" source=static addr=192.168.1.5 mask=255.255.255.0
      set address name="本地连接" gateway=192.168.1.1 gwmetric=0
      set dns name="本地连接" source=static addr=202.96.209.134 register=PRIMARY
      set wins name="本地连接" source=static addr=none
  popd
  # 接口 IP 配置结束
  
  6、导入网络配置文件
      C:\>netsh -f c:\dump.txt
      C:\>netsh exec c:\dump.txt


猜你喜欢

转载自blog.csdn.net/m0_67844671/article/details/133778871