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 指定从命令行运行时列表的名称
-Llistid 跟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]

-cconfidence 调整信任级别,确保trace看到了全部的所有的应答
-d dport 为trace指定基目的的端口
-f firsthop 设定第一跳跃的TTL 常用
-ggaplimit 设定跳跃点无反应的数,默认为5跳无反应。不建议设置为0。没有容错很难进行 常用
-Ggapaction 表示当gaplimit达到设定的值,要做什么,默认为1表示停止,2表示发送最后一个探测
-m maxttl 指定探测TTL或HLIM的最大值,默认无限制。
-M指定丢失数据包或者较大数据包的路径
-l loops 探测停止之前,允许最大的循环数,默认1常用
-o offset 设置探测偏移,默认不使用
-Ooption 指定使用的参数,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格式数据在控制台

cressman方法 scamper方法案例_其他

在使用的时候出现这个问题
error while loading shared libraries: libscamperfile.so.0: cannot open shared object file: No such file or directory 安装无法使用部分功能的话需要执行一下
sudo ldconfig 加载配置,让linux认识以下新来的scamper