CTF运维命令手记

引言

一直没有把用到的系统命令系统整理一下,想着博客搁置好久了,好些内容也在之前的随笔写了些,但是混合起来还是干货不足,现在这里划一划(吧。

不定期更新中

Docker

  • 进入容器 bash
    docker exec -it container-id /bin/[ba]sh
  • 新建容器
    docker run -it[d] [--rm] -v hostdir:vdir -p hostp:vp [--name xxx] /file/to/run
  • build image
    docker build ./
  • 清掉终止的容器
    docker rm $(docker ps -aq)

docker compose

  • up
  • down
  • restart

文件/内容寻找、替换

  • grep -r "flag" * #当前目录
  • grep -rln 'keyword' /home

  • grep -rlP ^1cff /home 按16进制搜索

  • find /home -name '*keyword*'按文件名搜索

  • sed -i 's/astring/bstring/g' path/to/file

  • sed -i 's/http:\/\/archive.ubuntu.com/http:\/\/mirrors.163.com/g' /etc/apt/sources.list
  • sed -i 's/astring/bstring/g' [grep -rl](反引号包裹 替换子文件夹

数据库

备份数据库

  • mysqldump [-hhostname] -uusername -ppassword –databases databasename > backupfile.sql
  • mysqldump -u 用户名 -p 密码 数据库名 > bak.sql
  • mysqldump –all-databases > bak.sql

    还原数据库

  • mysql -u username -p [pass] databasename < backupfile.sql
  • mysql -u 用户名 -p 密码 数据库名 < bak.sql

tar

  • 打包文件
    tar zcvf /tmp/www.tgz /var/www/html
  • 解压文件
    tar zxvf /tmp/www.tgz -C /tmp/

cron

提供crontab命令来设定cron服务的,以下是这个命令的一些参数与说明:

  • crontab -u //设定某个用户的cron服务
  • crontab -l //列出某个用户cron服务的详细内容
  • crontab -r //删除没个用户的cron服务
  • crontab -e //编辑某个用户的cron服务

网络连接

  • netstat -antp
  • netstat -ano win
  • netstat -ano|findstr 'port num' win

双网卡内外网路由

  • win
    1
    2
    3
    4
    5
    route ADD 202.1.0.100 MASK 255.255.255.255 172.16.7.1 if 12
    route ADD 192.168.74.10 MASK 255.255.255.0 192.168.75.254 if 15
    route ADD 10.10.0.0 MASK 255.255.0.0 172.16.3.254 if 15
    route delete 0.0.0.0
    route add 0.0.0.0 mask 0.0.0.0 192.168.43.1 if 5

注意接口配置

  • mac
    1
    2
    3
    4
    5
    netstat -rn    --查看路由表
    route get 0.0.0.0 --获取默认路由
    sudo route delete 0.0.0.0 --删除默认路由
    sudo route add -net 0.0.0.0 192.168.1.1 --添加公网网关
    sudo route add -net 166.0.0.0 166.6.66.254 --添加内网网关

此外要在配置中调整默认路由网卡为优先