Jirairya

RTFM-Unix

2017-11-17

RTFM Unix

Linux Networks Command

命令 说明
watch ss -tp 网络连接情况
netstat -ant TCP连接情况(-anu=udp)
netstat -tulpn 与PIDS连接情况
lsof -i 建立的连接
smb://ip/share 连接Windows smb共享
smbclient -U User\\\\ip\\share SMB连接
ifconfig eth# ip/cidr 设置IP和子网掩码
ifconfig eth0:1 ip /cidr 设置虚拟网卡
route add default gw gw_ip 设置GW
ifconfig eth# mtu[size] 设置MTU大小
export MAC=xx:xx:xx:xx:xx:xx 更改MAC
ifconfig int hw ether MAC 更改MAC
macchanger -m MAC int 回溯MAC更改器
iwlist int scan 建立WIFI扫描器
dig -x ip 域名查找IP
host ip 域名查找IP
host -t SRV _service_tcp.url.com SRV记录查询
dig @ip domain -t AXFR DNS区域传送
host -l domain -t AXFR DNS区域传送
ip xfrm state list 打印存在的VPN密钥
ip addr add ip /cidr dev eth0 添加隐藏的网卡
/var/log/messages 1 grep DHCP 列出DHCP作业
tcpkill host ip andr port port 禁止ip和端口
echo "1" /proc/sys/net/ipv4/ip_forward 打开IP转发
echo "nameserver x.x.x.x" /etc/resolv.conf 添加DNS 服务

Linux系统信息

命令 说明
nbtstat -A ip 得到IP的主机名
id 当前用户名
w 登陆的用户
who -a 用户信息
last -a 最后用户登陆信息
ps -ef 进程列表(=top
uname -a 内核信息
df -h 磁盘剩余量
mount 挂载的文件系统
getent passwd 用户列表
PATH=$PATH:/home/mypath 添加到PATH变量
kill pid 通过PID杀死进程
cat /etc/issue 展示 OS info
cat /proc/version 内核信息
cat /etc/*release* 查看系统版本信息
rpm --query -all 查看安装的包(红帽)
rpm -ivh *.rpm 安装RPM包(-e=移除)
dpkg -getselections 安装DEB(-r=移除)
dpkg -I *.deb 安装deb(-r=移除)
dpkginfo 安装pkg包(Solaris)
which tscsh/csh/ksh/bash 展示可执行程序

Linux 实用的命令

命令 说明
wget http://url -o url.txt -o /dev/null 抓取url
redesktop ip 远程桌面连接ip
scp /tmp/file user@x.x.x.x: /tmp/file 复制文件到远程
useradd -m user 添加用户
passwd user 改变用户密码
rmuser uname 移除用户
script -a outfile 记录shell:Ctrl-D 停止记录
apropos subject 查找相近的命令
history 查看用户命令历史
!num 在历史中执行行#

Linux文件命令

命令 说明
diff file1 file2 比较文件
rm -rf dir 强制删除dir
shred -f -u file 覆盖/删除文件
touch -r ref_file file 匹配ref_file时间戳
touch -t YYYYMMDDHHSS 设置文件时间戳
sudo fdisk -l 列出连接的设备
mount /dev/sda# mnt/usbkey 挂载USB密钥
md5sum -t file 计算md5值
echo -n "str" 1 md5sum 生成md5值
sha1sum file 文件的SHA1值
sort -u 显示唯一的行
grep -c "str" file 计算含有”str”的行数
tar cf file.tar.gz files 压缩文件为.tar
tar xf file.tar 解压tar文件
tar czf file.tar.gz files 压缩文件为tar.gz
tar xzf file.tar.gz 解压缩.tar.gz文件
tar cjf file.tar.bz2 files 压缩文件为.tar.bz2
tar xjf file.tar.bz2 解压缩tar.bz2文件
gzip file 压缩文件或重命名文件
gzip -d file. gz 解压缩文件
upx -9 -o out.exe orig.exe UPX打包orig.exe
zip -r zipname.zip \Directory\* 生成zip文件
dd skip=lOOO count=2000 bs=S if=file of=file 将1k-3k的区域剪切到另外一个文件
split -b 9K \ file prefix 将文件分割成9k/块
awk 'sub("$"."\r")' unix.txt win.txt 获得
find -i -name file -type *.pdf 搜索pdf文件
find /-perm -4000 -o -perm -2000 -exec ls -ldb {} \; 搜索setuid文件
dos2unix file 转换成Unix格式
file file 解释文件格式
chattr (+/-)i file 设置或取消固定格式

Linux Misc命令

命令 说明
unset HISTFILE 关闭历史记录
ddh user@ip arecord - 1 记录远程声卡信号
gcc -o outfile myfile.c 编译C/C++文件
init 6 重启(0=关机)
cat /etc/*syslog*.conf \| grep -v "#" 列出日志文件
grep 'href=' file | cut -d"/" -f3 |grep url | sort -u 去除url.com中的链接
dd if=dev/urandom of=file bs=3145728 count=100 随机生成3MB的文件

Linux 掩灭踪迹的命令

命令 说明
echo "" /var/log/auth.log 清理登陆日志
echo "" ~/.bash_history 清理当前用户的bash命令历史记录
rm ~/.bash_history -rf delete .bash_history file
history -c 清除当前会话历史记录
export HISTFILESIZE=0 清零历史记录行数
export HISTSIZE=0 清零历史记录命令
unset HISTFILE 关闭历史日志(注销生效
kill -9 $$ 杀死当前会话
ln /devnull ~/.bash_history -sf 永久将所有bash记录发送到 /dev/null

Linux文件系统架构

/  虚拟目录的根目录。通常不会在这里存储文件
/bin  二进制目录,存放许多用户级的GNU工具
/boot  启动目录,存放启动文件
/dev  设备目录,Linux在这里创建设备节点
/etc  系统配置文件目录
/home  主目录,Linux在这里创建用户目录
/lib  库目录,存放系统和应用程序的库文件
/media  媒体目录,可移动媒体设备的常用挂载点
/mnt  挂载目录,另一个可移动媒体设备的常用挂载点
/opt  可选目录,常用于存放第三方软件包和数据文件
/proc  进程目录,存放现有硬件及当前进程的相关信息
/root  root用户的主目录
/sbin  系统二进制目录,存放许多GNU管理员级工具
/run  运行目录,存放系统运作时的运行时数据
/srv  服务目录,存放本地服务的相关文件
/sys  系统目录,存放系统硬件信息的相关文件
/tmp  临时目录,可以在该目录中创建和删除临时工作文件
/usr  用户二进制目录,大量用户级的GNU工具和数据文件都存

Linux文件

文件名 说明
/etc/shadow 本地用户hash值
/etc/passwd 本地用户
/etc/group 本地组
/etc/rc.d 启动的服务
/etc/init.d 服务
/etc/hosts 已知主机名和IP
/etc/HOSTNAME 域的所有主机
/etc/network/interfaces 网络配置文件
/etc/profile 系统环境变量
/etc/apt/sources.list Ubuntu资源列表
/etc/resolv.conf 域名配置
/home/user/.bash_history bash历史记录(也可能是/root)
/usr/share/wireshark/manuf Vendor-MAC查询
~/.ssh/ SSH密钥存储区
/var/log 系统日志文件(大多数Linux)
/var/adm 系统日志文件(Unix)
/var/spool/cron 列出cron文件
/var/log/apache/access.log Apache连接日志
/etc/fstab 静态文件系统信息

Linux脚本

ping 扫描

for x in {1 .. 254 ..1};do ping -c 1 1.1.1.$x | grep "64 b" | cut -d" "-f4
ips.txt; done

自动域名解析

#!/bin/bash
echo "Enter Class C Range:i.e. 192.168.3"
read range
for ip in {1..254..1};do
host $range.$ip | grep "name pointer" | cut -d " " -f5
done

IPTABLES

命令 说明
iptables -L -v --line-numbers 列出所有的iptables规则
iptables -F 刷新所有ipatbles规则
iptables -D INPUT 7 删除第七条入站规则
iptables -t raw -L -n 关闭无状态的规则提高性能
iptables -P INPUT DROP 丢弃所有包

允许SSH在22号端口出站

iptables -A OUTPUT -o iface -p tcp --dport 22 -m state --state New,ESTABLISHED -j ACCEPT
iptables -A INPUT -i iface -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

允许ICMP出站

iptables -A OUTPUT -o iface -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

iptabele -A INPUT -o iface -p icmp --icmp-type echo reply -j Aceept

端口转发

echo "1" /proc/sys/net/ipv4/ip_forward 
# OR - sysctl net.ipv4.ip.ipforward=1

iptables -t nat -A PREROUTING -p tcp -i eth0 -j DNAT -d pivotip --dport 443 -to-destination attk_ip :443

iptables -t nat -A POSTROUTING -p tcp -i eth0 -j SNAT -s target subnet iptables -t filter -I FORWARD 1 -j ACCEPT  

仅允许1.1.1.0/24,80、443和日志记录在/var/log/messages

iptables -A INPUT -s 1.1.1.0/24 -m state --state RELATED,ESTABLISHED,NEW -p tcp -m multiport --dports 80,443 -j ACCEPT

iptables -A INPUT -i ethO -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -P INPUT DROP

iptables -A OUTPUT -o ethO -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

iptables -N LOGGING

iptables -A INPUT -j LOGGING

iptables -A LOGGING -m limit --limit 4/min -j LOG --log-prefix "DROPPED "

iptables -A LOGGING -j DROP

UPDATE-RC.D

检查/改变启动服务的状态

命令 说明
service -status-all 引导区启动的服务和非启动服务
service service start 启动服务
service service stop 关闭服务
service service status 检查服务状态
update-rc.d -f service remove 移除启动的服务(若etc/init.d 启动文件存在)
update-rc.d service defaults 添加要启动的服务

CHKCONFIG

存在于红帽系列的Linux,比如Centos、OEL

命令 说明
chkconfig --list 列出存在的服务运行状态
chkconfig service -list 检查单一服务的状态
chkconfig service on [--level 3] 添加服务并指定运行级别
chkconfig service off [--level 3] 移除服务

屏幕

命令 说明
screen -S name 开启新窗口
screen -ls 列出开启的屏幕
screen -r name 附加屏幕名字
screen -S name -X cmd 发送cmd到屏幕
C-a 列出键值绑定
C-a d 拆分
C-a D D 拆分并退出
C-a c 创建新窗口
C-a C-a 切换到最后的活动窗口
C-a ' num|name 切换到对应编号或名称的窗口
C-a " 窗口的列和改变
C-a k 杀死当前窗口
C-a S 将显示横向分割
C-a V 将显示纵向分割
C-a tab 跳到下一移除当前个显示窗口
C-a X 移除当前区域
C-a Q 移除除了当前区域的所有区域

X11

捕捉远程X11桌面,并且转换为JPG

xwd -display ip :0 -root -out /tmp/test.xpm

xwud -in /tmp/test1.xpm

convert /tmp/test.xpm -resize 1280x1024 /tmp/test.jpg

打开X11查流


Similar Posts

Comments