欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Kali 1.0.4 0 trace工具解决/bin/usleep不存在

程序员文章站 2022-04-06 23:05:56
## 0×01 前言 ## Kali 1.0.4发布了之后,亲测了下,感觉各个方面比一起都有一个提升。特别是msf,直接msf4.7为最新版本,就不用考虑升级后各种起...
## 0×01 前言 ##

Kali 1.0.4发布了之后,亲测了下,感觉各个方面比一起都有一个提升。特别是msf,直接msf4.7为最新版本,就不用考虑升级后各种起不来,各种报错的问题了。

Kali 1.0.4 0 trace工具解决/bin/usleep不存在

在使用的过程中遇到了一个问题。大家都知道0trace这个工具吧,很小的一个追踪路径的小脚本。

 

## 0×02 0trace简介 ##
 

我们都知道TCPtraceroute是通过发送SYN数据包来穿过防火墙,那么防火墙一般是不会拦截SYN标识的数据包的,提高探测的准确性。但是毕竟是主动发包,并没有真正的去基于一个可靠的连接,在一个复杂的网络环境下,还是有可能造成丢包延迟等问题。

0trace就该登场亮相了,这个小工具就是通过建立传输层可靠的TCP连接来列举出连接上每一跳的情况,防火墙是不会对一条意建立TCP连接作审查和拦截的。这样的话,问题就解决了。

在BT5下,0trace的路径在/usr/local/sbin/0trace.sh
在Kali下,0trace的路径在/usr/share/0trace/0trace.sh
 

## 0×03 问题 ##

问题出现了,第一次在kali下运行,系统提示"[-] /bin/usleep not found on this system, sorry."

咱就先介绍下/bin/usleep。

命令usleep的功能是把进程挂起一段时间,所用的头文件是unistd.h

当然要注意,在win下不存在这个命令,只有在Linux中才有。

那么提示系统中没有这个命令,咱们就自己编译一个uspeel,一样来用。C代码如下:

 

 


#include <stdio.h>
 
#include <stdlib.h>
 
#include <unistd.h>
 
int main (int argc, char **argv) { 
 
usleep(atoi(argv[1]));
 
return 0;
 
}

 

 

将此段代码保存在/tmp/usleep.c文件里,使用gcc编译


gcc -o /bin/usleep /tmp/usleep.c

注意,这里/tmp/usleep.c必须带后缀.c,否则编译不成功。

 

编译完成之后执行0trace命令,发现不会在报如上错误

Kali 1.0.4 0 trace工具解决/bin/usleep不存在

 

## 0×04 使用方法 ##

  1. 我们需要建立一条TCP连接,通常用telnet来实现。

     

  2. telnet www.xxx.com 80

     

    Kali 1.0.4 0 trace工具解决/bin/usleep不存在

  3. 使用0trace来抓取,等待数据流
    /usr/share/0trace/0trace.sh eth0 www.xxx.com 80
     

     

  4.  

    Kali 1.0.4 0 trace工具解决/bin/usleep不存在

  5. 用http等方式来激活http连接,让工具抓包。

    最直接的办法就是用浏览器来访问域名,直到能抓到这个路径。

    Kali 1.0.4 0 trace工具解决/bin/usleep不存在

    如上图,跳转路径就出现了,可以跟TCPtraceroute对比下有什么不同,然后就可以得到结论了。



## 0×05 后记 ##

如果中途出现Probe rejected by target.那就只能重新在来一次