【www.bbyears.com--php安装】
0. 前言这篇博客仅用于记录个人在工作中用到的一个小工具,后续用到别的会再补充。
1. Tmux
终端分用器(multiplexer),可以在一个屏幕上创建多个终端,这个工具也可以用于结对编程。
个人用途:1. 在一个屏幕中开启多个终端(因为个人使用的是24寸屏)2. 保存工作环境,在不使用的时候dettach,切换到对应的环境,一般个人会创建三个会话,一个用于开启程序,第二个用于work的环境,第三个为study环境。
常用命令:
tmux 以默认方式创建一个会话,会话名从0开始命名
tmux new -s SESSION_NAME 创建一个新的会话 tmux attach -t SESSION_NAME 连接到一个已创建的会话。 tmux ls 查看当前tmux所拥有的会话 在会话中,命令以 ctl + b 作为前缀 prefix ctl + b + d ,断开当前会话的连接 d 表示 dettach ctl + b + %,以垂直分割创建一个窗格(pane) ctl + b + " ,以水平分割创建 ctl + b + 方向键,切换窗格 ctl + b 按住 + 方向键,调整窗格的大小 ctl + b + [,查看或复制之前输出的内容(注意:tmux没有滚动条,所以这个功能对于查看输出超过一屏的内容还是比较重要的) tmux list-panes 查看当前会话的窗格tmux kill-pane -t PANE_NAME 关闭一个窗格,其中PANE_NAME为窗格的名称,如果以默认创建的话从0开始标号
2. tcpdump
用于监听网络传输收发的数据,这个命令一般都需要用到管理员的权限。 个人用途:测试的时候监听服务器的端口,观察数据收发,连接建立情况。 常用参数: -i 指定监听的网络接口过滤参数:
port NUMBER 监听指定的端口
ip IP 监听指定的ip例如:监听172.16.17.229:8080:"ip 172.16.17.229 and port 8080"
1 捕获控制参数
-s pkt-size 每个包的最小缓冲区,默认为98,超过的包内容会被截断
-c count 当捕获到count个包后,停止捕获,否则进行连继捕获,当然你可以通过SIGINT或SIGTERM信息来终止捕获
-w file-name 将捕获的包写入的文件而非标准输出,供以后分析
-r file-name 从文件中读取包的内容,并根据过滤条件显示到标准输出上
-C p-f-size 当使用-w参数时,当把包写入文件时,如果文件大于size MB,则关闭当前文件,打开新的文件进行保存
-F file-match 使用文件中的过滤表达式
-i interface 捕获特定的接口
-T type 将捕获的包解释为type,支持的type列表为aodv,rtp,rtcp,rpc,snmp,tftp...
-W file-count 保存捕获包的文件个数
-y dl-type 设置链路层类型
-Z user
-l 使得tcpdump的输出为行缓冲的,以便为其他管道处理
-E spi@ipaddr algo:secret 使用指定信息解密IPSEC数据,算法可以是des-cbc等,secret为ASCII的密钥
-D 显示系统当前可用接口1
-L 显示当前系统的链路层信息并退出
2 包显示参数
-x 以十六进制格式打印包的内容,IP头开始
-xx 包括链路层头信息
-X 同时以十
-A 以ASCII文本方式显示包内容,html等比较方便
-e 打包头的印链路层信息
-C
-n 不将ip址转换为域名
-nn 同时不把端口转换为服务
-S 显示TCP绝对序号,而非相对序号
-t 不打印时间
-tt 打印未格式化的时间
-v 显示IP头的详细信息如TTL,ID,Length
3 过滤表达式
[协议] [方向] [目标]
关键字
目标指定:host , net, port,portrange
net 192.168.1.1/24
portrange 1-1024
方向指定:src,dst 可以用 or and连接
协议指定:ether,wlan,ip,ip6,arp,tcp,udp
ip proto tcp
ip6 proto udp
ip6 protochain type 头中包含类型type的头
其他: gateway,broadcast,less,greater或算法表达式
less length
这些关键词可能通过not !,and &&及 or ||来进行逻辑叠加
4 DPI
可以访问数据包的任意位置的数值并进行过滤
一般格式为:proto[算术表达式:size] [运算符] [值]
算术表达式中可以使用+ - * / & | << >>,,如udp[4:2]&0xffff>256
运行符可以是> < >= <= != =
一个示例:tcpdump -x -c 10 -s 300 "dst port 8080 and udp[4:2]&0xffff>200"