OVERVIEW
先来一个概览:
scamper [ −?] [ −c command] [ −p pps] [ −w window] [ −M monitorname]
[ −l listname] [ −L listid] [ −C cycleid] [ −o outfile] [ −F firewall]
[ −n nameserver] [ −d debugfile] [ −e pidfile] [ −O options]
[ −i IPs | −I cmds | −f file | −P [ip:]port | −R name:port | −U unix-dom]
-?
查看scamper操作的命令-c
command 后面跟dealias 、 host、 neighbourdisc、 ping、 trace、 tracelb、sniff、 sting、 tbit
默认是 trace模式,表示scamper当前执行的命令模式-p
pps 发送包的速度,即 packets-per-second, 默认20-w
window并行任务的时候最大探测量-M
monitorname监视器,指定你要运行scamper机器的名称-l
listname 指定从命令行运行时列表的名称-L
listid 跟listname类似-C
cycleid 指定循环的id-o
outfile 结果输出到指定文件-F
firewall 根据需要使用系统防火墙安装规则-n
nameserver 指定camper要使用的服务器名字,默认在配置文件/etc/resolv.conf
里-d
将调试信息写入指定文件-D
进程守护模式运行 默认不开启-e
pidfile pid输出到指定的文件-O
options 定制操作,跟text
指定输出文件在text文本中,json
指定输出文件是json文件。-i
IP 1 …N指定探测地址-f
listfile 指定探测地址list在的文件路径-I
cmds.-P
[ip:]port 监听的主机ip和端口-R
name:port 指定scamper连接到指定的主机和端口以接收命令-U
scamper在unix域中监听指定套接字的控制。
以上是scamper服务端开启的命令
当然你可以本机操作,远程操作的时候你有可能需要传参数给工作的模式。工作模式全在上面的-c
命令后面。
具体的工作模式的操作命令
TRACE OPTIONS
先来一个概览:
trace [ −MQT] [ −c confidence] [ −d dport] [ −f firsthop] [ −g gaplimit]
[ −G gapaction] [ −l loops] [ −m maxttl] [ −o offset] [ −O option] [ −p payload]
[ −P method] [ −q attempts] [ −r rtr-addr] [ −s sport] [ −S srcaddr] [ −t tos]
[ −U userid] [ −w wait] [ −W wait-probe] [ −z gss-entry] [ −Z lss-name]
-c
confidence 调整信任级别,确保trace看到了全部的所有的应答-d
dport 为trace指定基目的的端口-f
firsthop 设定第一跳跃的TTL 常用-g
gaplimit 设定跳跃点无反应的数,默认为5跳无反应。不建议设置为0。没有容错很难进行 常用-G
gapaction 表示当gaplimit达到设定的值,要做什么,默认为1表示停止,2表示发送最后一个探测-m
maxttl 指定探测TTL或HLIM的最大值,默认无限制。-M
指定丢失数据包或者较大数据包的路径-l
loops 探测停止之前,允许最大的循环数,默认1常用-o
offset 设置探测偏移,默认不使用-O
option 指定使用的参数,dl 、dtree noback
dl表示给数据包加时间戳,并接收小包,
dtree noback 表示指定traceroute在使用doubletree时不应进行反向探测-p
payload 指定有效负载(十六进制)-P
method 指定要使用的traceroute方法。scamper目前支持五种不同的探测方法:
UDP、ICMP、UDP paris、ICMP paris、TCP和TCP-ACK。默认情况下,使用UDP paris。常用-q
attempts 每一条最大的响应次数,默认2-Q
发送探测,不管收到多少响应-r
rtr-addr 指定要使用的路由地址-s
sport 指定使用的源端口,基于ICMP-based 使用-S
srcaddr 指定使用源地址-t
tos 设定IP ToS/DSCP + ECN的字节数-T
-U
userid 设定收集数据userid标记-w
wait 等待应答时间, 默认5秒-W
wait-probe 连续探测之间的间隔,默认是尽快发送,单位(10ms)-z
gss-entry 遇到自定的探测的IP地址停止,与double-tree algorithm一起使用-Z
lss-name
PING OPTIONS
-A
tcp-ack 指定tcp报文头内容,返回消息内容的确认一致性-B
payload 指定发射探测是负载,十六进制-c
probecount 发送的探测数 默认4-C
icmp-sum icmp 检验总数,使用时payload将会被使用-d
dport 指定探测目标的端口-F
sport 指定探测使用的源端口-i
wait 探测之间等待的时间 默认1s-m
ttl 传出数据的TTL值-M
MTU 设置一个MTU值的限制标准,超过发送返回数据过大的信息-o
replycount 指定探测响应的数,默认全部探测数-O
options
-
-dl
指定使用数据链路套接字 -
-nosrc
指定主机的实际地址不应嵌入,使用欺诈数据包 -
spoof
指定假源地址(指定欺诈源地址) -
tbt
指定零星响应的数量
−p
pattern 指定探测器的数据模板,十六进制表示,最多16字节默认0字节-P
method 指定要发送的ping数据包的类型,选项:icmp-echo, icmp-time, tcp-syn, tcp-ack, tcp-ack-sport, tcp-synack, tcp-rst, udp, and udp-dport
-R
开启记录路由ip-s
size 发送探测是大小,包含ip和icmp报文头,默认ipv4 ping使用84字节,IP v6 ping默认使用56字节的探测大小-S
srcaddr 探测的源地址,如果使用了-O 可以伪造地址-T
timestamp 时间戳的携带,tsandaddr
tsprespec
tsonly
三种不同的时间戳标准。-U
userid 设置正整数标识用户id−W
timeout 指定发送最后一次ping后等待的时间,默认1s-z
tos 指定要在IPv4 ToS/DSCP+ECN字节中使用的值。默认,此字节设置为零
当然还有dealias命令的操作,稍后更新。
下面说一下客户端
sc_attach
管理
sc_attach [ −?] [ −c command] [ −i infile] [ −o outfile] [ −O options]
[ −p [ip:]port] [ −P priority] [ −R unix-domain] [ −U unix-domain]
-?
查看帮助-d
打印出连接到scamper的命令-D
进程守护模式运行连接-v
打印当前版本-c
command 给scamper的命令参数,可以指定scamper用什么探测模式常用-i
infile 输入文件路径(要探测的ip写入到这里面)-o
outfile输出文件路径 格式是warts文件,需要解析-O
options 选择进一步定制sc_attach,可选random, impatient。随机和不等待两种-p
[ip:port] 指定连接的scamper的地址和端口,默认端口是31337-P
priority 指定连接scamper的优先级-R
unix-domain 远程连接scamper-U
unix-domain 远程连接scamper
scamper服务端开启服务命令
~# sudo scamper -D -p 1000 -P 0.0.0.0:31337
sc_attach开启连接scamper
sc_attach -p 192.168.1.148:31337 -c 'trace -f 2 -l 1 -g 4 -P udp-paris' -i /root/Desktop/in/taskid/ip.txt -o output.warts
在当前路径会生成output.warts的文件
解析
sudo sc_warts2json output.warts
会输出json格式数据在控制台
在使用的时候出现这个问题error while loading shared libraries: libscamperfile.so.0: cannot open shared object file: No such file or directory
安装无法使用部分功能的话需要执行一下sudo ldconfig
加载配置,让linux认识以下新来的scamper