Linux常用命令
mkdir 目录名 #创建目录
mkdir 目录名1 目录名2 #在同一级下批量创建目录
mkdir -p 目录名1/目录名1.1/目录名1.1.1 #创建多级目录,如果目录不存在,就新建一个
ls #列出目录下的内容
ls -a #显示所有文件及目录(.开头的隐藏文件也会列出)
ls -l #除文件名称外,也将文件形态、权限、拥有者、文件大小等详细列出。等同于ll
ls -h #以K,M,G为单位列出文件大小
pwd #以绝对路径展示用户当前工作目录
cd 目录名 #切换当前工作目录
cd 绝对路径 #切换到目标目录
cd . .. ~ - #.代表当前目录,..代表上一级目录,~切换至用户家目录(root家目录在/root,其他用户在/home下),-回到上一个目录
touch 文件名 #创建一个空白的新文件,如果同名文件已存在,则修改期时间属性。
cp 源文件 目录 #复制文件到目录
cp -r 源目录 目录 #-r表示若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。(递归)
cp -p 源文件 目录 #-p除了复制文件的内容以外,还把修改时间和访问权限也复制到新文件中(保持默认属性)
mv 源文件名/目录 文件名/目录名 #用来为文件或者目录改名、或者将文件或者目录移入其他位置
mv -f 源文件名/目录 文件名/目录名 #-f如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
mv -n 源文件名/目录 文件名/目录名 #-n不要覆盖任何已存在的文件或目录。
cat 文件名 #查看文件内容
echo '文本' #用于输出指定内容
echo '文本'> 文件 #将输出内容覆盖到文件中
echo '文本'>> 文件 #将输出内容追加到文件中
more 文件名 #查看文件内容,空格键是下一页,回车键是显示文本的下一行内容,b键会往回一页显示,q键退出
head -n 行数 文件名 #查看文件的开头几行的内容,如果不加-n默认是10行内容
tail -n 行数 文件名 #查看文件的末尾几行的内容,如果不加-n默认是10行内容
tail -f 文件名 #循环读取文件新增的内容
wc -l 文件名 #显示文件的行数
wc -c 文件名 #显示文件的Bytes数
wc -w 文件名 #显示文件的字数
du -h 文件名 #显示文件的使用空间,-h是用K,M,G为单位,提高信息的可读性
df -h #显示硬盘被占用多少空间,目前还剩下多少空间。默认显示单位KB,-h是用K,M,G为单位,提高信息的可读性
vi 一般模式下:
/qqq #搜索“qqq”内容
gg #光标立马回到第一行
2 #光标向下跳2行,以此类推
G #移动到最后一行
dd #删除当前行
d2j #删除当前行和下两行
yy #复制一行
y2y #复制2行
p(小写) #粘贴到光标之后
P(大写) #粘贴到光标之前
Linux获取命令帮助的方式
使用-h,-help和man可以查看命令的帮助文件
ping -h
cp --help
man cp
Linux文件结构
/bin
目录下包含了用户命令文件,也就是shell命令。/boot
包含了系统启动过程中所需要的所有内容。/dev
目录是设备文件或者专有文件的存放位置。/etc
目录包含了系统的配置文件。/root
用户专有的家目录。一个用户对自己的家目录拥有绝对的控制权。/lib
目录里面存放着共享库和内核模块。在系统的启动阶段和运行根文件系统的各种命令时,都需要用到这些共享库,所以必须与根文件放在一起。/media
与/mnt
是常见的挂载点./opt
目录系统附加软件的存放地址/sbin
目录必备的系统软件存放处。用户系统维护的软件和某些只限root用户使用的命令存储在/sbin
/usr/sbin以及/usr/local/sbin目录下。/srv
目录某些服务进程启动以后,他们需要读取的数据会放在srv目录中。/tmp
目录存放临时文件。任何程序都不用对/tmp目录下的任何文件或目录负责。(任何用户都是全部权限)/var
目录包含着系统中绝大多数的随时变化着的数据,比如系统日志。/var的某些内容是不能共享给其他系统的,典型的就是/var/logs /var/run。当然某些是可以共享的,如/var/spool/news。
内网信息收集常用命令
Windows
系统相关
ver #查看操作系统版本
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" #英文操作系统
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本" #中文操作系统
wmic qfe get Caption,Description,HotFixID,InstalledOn #查看补丁列表
net statistics workstation #查看主机开机时间
schtasks /query /fo LIST /v #显示所有计划任务
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f #开启远程桌面
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f #关闭远程桌面
用户相关
whoami /user && whoami /priv #检查当前用户,权限
whoami /all #查看当前域并获取域SID
quser #查看在线用户信息
query user || qwinsta #查看在线用户信息
net user #查看本机用户
net user XXX #查看用户详细信息
net user username password /add #增加用户,修改密码
net user username /delete #删除用户
net localgroup #查看管理员组成员
net localgroup administrators #查看本机管理员
net localgroup administrators /domain #登录本机的域管理员
net localgroup workgroup\user001 /add #域用户添加到本机
程序相关
wmic /Node:localhost /Namespace:\\root\SecurityCenter2 Path AntivirusProduct Get displayName /Format:List #查看杀毒软件
wmic product get name,version #查看安装的程序和版本
tasklist #查询运行的进程
wmic process list brief
wmic process get processid,executablepath,name #显示进程的路径、名称、pid
wmic service list brief #查看本机服务
cmdkey /l #远程桌面连接历史记录
wmic startuo get command,caption #查看自启动程序列表
防护墙相关操作
netsh firewall show state #防火墙状态
netsh firewall show config #查看防火墙配置
netsh firewall set opmode disable #关闭防火墙(windows server 2003及以前)
netsh advfirewall set allprofiles state off #关闭防火墙(windows server 2003以后)
修改防火墙配置
netsh firewall add allowedprogram c:\\xxx\\xx.exe "allow xx" enable #允许指定程序的全部连接(windows server 2003及以前)
#windows server 2003之后:
netsh advfirewall firewall add rule name="pass xx" dir=in action=allow program="C:\xxx\xx.exe" #允许某个程序连入
netsh advfirewall firewall add rule name="pass xx" dir=out action=allow program="C:\xxx\xx.exe" #允许某个程序外连
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow #开启3389端口,允许改端口放行
网络连接相关
netstat -ano #tcp/udp网络连接状态,端口信息
ipconfig /all #查询本机IP段,所在域等
route print #打印路由信息
arp -a #查看arp缓存,可以发现内网主机
#查看局域网信息
net view #查看同一域内机器列表
net view \\ip #查看某ip共享
net view \\GHQ #查看GHQ计算机的共享资源列表
net view /domain #查看内网存在多少个域
net view /domin:XYZ #查看XYZ域的机器列表
net accounts /domain #查询域用户密码过期等信息
#查看本机共享
net share
wmic share get name,path,status
域相关
#判断是否存在域
net config workstation # 查看当前计算机名,全名,用户名,系统版本,工作站域,登陆的域等
net view /domain # 查看域
#查看主域服务器
net time /domain #主域服务器会同时作为时间服务器
nltest /DCLIST:god #查看域控制器主机名,god为域名
#查看域用户相关信息
net user /domain #显示所在域的用户
net user 域用户 /domain #获取域用户详细信息
net user /domain XXX 123456 #修改用户密码,需要域管理员权限
net group /domain #查看域内用户组列表
net group "domain admins" /domain #获取域管理员列表
net group "domain controllers" /domain #查看域控制器组
net group "domain computers" /domain #查看域机器
#列出域信任关系
nltest /domain_trusts #列出域与域之间的信任关系
#获得域内用户详细信息
wmic useraccount get /all #可以获取到域用户的用户名、描述信息、SID、域名、状态等。
Linux
系统信息
cat /etc/issue #查看系统名称
cat /etc/Lsb-release #查看系统名称,版本号
cat /etc/*release #查看linux发行信息
uname -an #查看内核版本
cat /proc/version #查看内核信息
cat /proc/cpuinfo #查看cpu信息
#查看文件系统
df -a
#查看系统日志
sudo cat /var/log/syslog
#查看命令记录
cat /root/.bash_history
cat ~/.bash_history
hostname #查看主机名
env #打印系统环境信息
cat /etc/shells #显示可用的shell
用户相关
whoami #查看当前shell权限
id #查看当前用户的权限和所在的管理组
#查看登录信息
w
who
last #登入过的用户信息
lastlog #显示系统中所有用户最近一次登录信息
#查看账号信息
cat /etc/sudoers
cat /etc/group
cat /etc/passwd
sudo -l #列出目前用户可执行与无法执行的指令
网络相关
#查询本机IP信息
ifconfig
ip a
#查看端口信息
netstat -anpt
#查看网卡配置
cat /etc/network/interfaces
程序相关
#查看进程信息
ps -ef #标准格式显示
ps aux #BSD格式显示
#资源占有情况
top -c
cat /etc/inetd.conf #由inetd管理的服务列表
cat /etc/xinetd.conf #由xinetd管理的服务列表
#查看安装的程序
rpm -qa --last #Redhat
yum list | grep installed #CentOS
ls -l /etc/yum.repos.d/
dpkg -l #Debian
cat /etc/apt/sources.list #Debian APT
pkg_info #xBSD
pkginfo #Solaris
pacman -Q #Arch Linux
emerge #Gentoo
#查看计划任务
crontab -l
ls -al /etc/cron*
cat /etc/cron.allow
cat /etc/cron.deny
cat /etc/crontab
#查看开机启动项
/etc/rc.d/init.d/
配置信息
iptables –L #查看防火墙配置(注意需要root权限)
cat /etc/resolv.conf #查看dns配置文件
cat /etc/network/interfaces #查看网卡配置文件
cat /etc/apache2/apache2.conf #查看apache配置文件
cat /etc/my.conf #mysql配置
#查看suid文件
find / -perm -u=s -type f 2>/dev/null
#最近五天的文件
find / -ctime +1 -ctime -5
虚拟环境检测
lsmod | grep -i "vboxsf\|vboxguest"
lsmod | grep -i "vmw_baloon\|vmxnet"
lsmod | grep -i "xen-vbd\|xen-vnif"
lsmod | grep -i "virtio_pci\|virtio_net"
lsmod | grep -i "hv_vmbus\|hv_blkvsc\|hv_netvsc\|hv_utils\|hv_storvsc"