• 命令行
scp -P 222 -r ./file.zip  root@1.1.1.1:~/filename.zip


grep -R searchstr  /etc/*

grep -o 只显示命中正则的信息

压缩
tar -czvf /path/to/file.tar.gz file

解压
tar -xzvf /path/to/file.tar.gz /path/to

加密压缩
tar -czvf - file | openssl des3 -salt -k password -out /path/to/file.tar.gz

解密解压
openssl des3 -d -k password -salt -in /path/to/file.tar.gz | tar xzf -

zip加密
zip -rP abc#123 test.zip test.txt
zip解密
unzip -P passwork filename.zip

#查找在文件夹下面所有.py结尾且不是__init__.py的文件
find ./ -name "*.py"  -type f ! -name "__init__.py" |  wc -l

#重放cookie登录
javascript.documents.cookie=cookiestr

#豆瓣源
pip install django  --default-timeout=100 -i https://pypi.douban.com/simple  

#阿里源
pip install pyyaml -i http://mirrors.aliyun.com/pypi/simple/  --trusted-host mirrors.aliyun.com

# 离线安装package [参考](https://caldera.readthedocs.io/en/latest/Install-CALDERA-offline.html)
pip download -r caldera/requirements.txt --dest caldera/python_deps
pip install -r caldera/requirements.txt --no-index --find-links caldera/python_deps

curl -i -k -H "Authorization: Token token=1234" 'https://localhost/indicators?itype=ipv4&limit=1'

  • 应急响应类
1. 进程以及文件
#快速查看进程信息,并获取进程文件位置
top -c 

#杀死进程 
kill -9 PID 

#根据文件名特征查找
grep -rni "shell.name" * 

#根据文件大小特征查找
find / -size 1223123c22 
du -h –max-depth=1 *  #遍历文件夹下面的目录文件大小

#根据文件创建时间查找
find / -mtime 1 -name * 

#查看进程占用信息
lsof -p PID 

#读取进程在内存中的信息
• cd /proc/PID
• cat * |strings -n 5 |more

2. 检测网络
#查看“PORT”端口的占用情况
lsof –i:PORT号 eg:sudo lsof -i:35002
# 查看不正常端口
 netstat -nap
# 查看TCP连接
 netstat -an | grep tcp | awk '{print $5}'
# 查看SYN连接
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

3. 检测系统命令
#显示所有的文件包含隐藏文件的详细信息,并按生成时间从早到晚排序
ls -alt /bin/ | head -n 10
ls -alt /usr/sbin/ | head -n 10
ls -alt /usr/bin/ | head -n 10
ls -lR | grep "^-"| wc -l

4. 检查日志
4.1 系统日志
crontab日志:/var/log/cron
secure日志:/var/log/secure
lastlog日志:/var/log/lastlog
bash日志:~/.bash_history
4.2 Web日志
access_log
error_log

5. 注意事项
一定要查看系统命令是否被替换,否则所做的都是一切徒劳
若系统替换可用其他代替,如:ps使用top,netstat使用ss,busybox等
lsof -n | grep delete 查找已经删除但是还在使用的文件
留意下是否有SSH后门
注意是否存在隐藏进程
实在无法删除可使用chattr +i锁定相应计划任务文件
实在不行修改把curl ,wget ,lynx 文件全局重命名

资料参考来源:https://sec.ctrip.com/doc/%E8%AE%AE%E9%A2%98%E5%88%86%E4%BA%ABPPT.pdf
  • 常见的安装包
apt-get install net-tools
  • 清除磁盘垃圾
sudo apt-get autoremove
sudo apt-get clean
  • docker常见命令行
# docker images编译
docker build -t  imagename:v2  .
docker run -d -p 1680:80  IMAGE_ID 

### 查看所有容器的id
- docker ps -qa
- docker stop $(docker ps -qa)
### 导出image
docker save  33c2b80b5322 > logstash.tar
### docker与hostcp
- docker cp /www/runoob containter_id:/www/

### docker保存容器到image
docker commit containerid hahadaxia/scirius3.1
### 上传到dockerhub
docker login hub.docker.com #需要登陆两次
docker login -u hahadaxia -p a09048122003
docker tag hahadaxia/scirius:1.0   hahadaxia/scirius3.1:1.0
docker push  hahadaxia/scirius3.1:1.0
- 注意:hahadaxia一定是自己的账户名称.需要将REPOSITORY命名为hahadaxia后才可以提交

#### 容器和image名称修改
docker rename old_name new_name
docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)

### 创建container 
docker run -d -ti -p 1433:1433 imageid

### 修改容器的端口映射配置文件
1.停止docker container
2.修改网络配置
vim /var/lib/docker/containers/{container_id}/hostconfig.json
修改字段:
"PortBindings": {
     "80/tcp": [
             {
             "HostIp": "",
             "HostPort": "8080"//宿主机ip
             }
         ]
     },
3. 重启docker服务 systemctl restart docker
4. 启动 docker容器

批量删除镜像

docker rmi $(docker images -q)

批量删除redis的key

redis-cli keys "user*" | xargs redis-cli del

  • 网络常见命令行
http://httpbin.org/user-agent
http://httpbin.org/ip
http://httpbin.org/headers
### httpbin服务创建:docker run -p 80:80 kennethreitz/httpbin
  • git常见命令与配置
  • 免密登录
  1. clone repo

git clone https://xxx

  1. 生成密钥
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
# 三次回车即可生成 ssh key
  1. 将公钥放到git平台上(github)
cat ~/.ssh/id_rsa.pub   #打印出来的这段字符串就是公钥了,配置github右上->setting->ssh
  • 修改配置

git config -e

  1. 找到git配置文件

修改前

[remote "origin"]  
    url = https://xxxx.git  
    fetch = +refs/heads/*:refs/remotes/origin/*

修改后

[remote "origin"]  
    url = git@xxx.git    #这个地址,自行打开项目主页查看
    fetch = +refs/heads/*:refs/remotes/origin/* 
  1. 删除已经提交的代码文件夹 git rm -r --cached "utils/xx"

ubuntu安装ssserver

ssserver -c /etc/shadowsocks/config.json -d start nohup ssserver -c /etc/shadowsocks.json > /dev/null 2>&1 &

  1. mitmproxy mitmweb -p 666 在浏览器配置 代理 ip:666 在ip:8081 查看http请求响应流量报

windows 系列

  • 打开虚拟键盘 [win] + [R] 输入 osk

mac 系列

安装工具,查看工具,和停用工具(服务)的命令如下:

brew install nginx // 安装nginx

brew services list // 查看服务列表

brew services restart nginx // 重启nginx

brew services stop nginx // 关闭nginx

brew outdated //查看需要更新的 服务

brew update // 更新所有服务

vim 格式化json

在vim输入以下命令就可以格式化 :%!python -m json.tool

ubuntu系统,想默认用root登陆

 使用ubuntu登录系统
1 sudo -s
切换到root下,修改root密码
2 sudo passwd root
修改sshd_config配置,把PermitRootLogin源行注释,并增加一行为:
3sudo vi /etc/ssh/sshd_config
#PermitRootLogin prohibit-password  
PermitRootLogin yes
4 service sshd restart
5 使用root、新密码登录系统

打开crontab日志

sudo vim /etc/rsyslog.d/50-default.conf 取消 cron 行的注释