现代网络广泛使用防火墙,导致传统路由跟踪工具发出的(ICMP应答(ICMP echo)或UDP)数据包都被过滤掉了,所以无法进行完整的路由跟踪。尽管如此,许多情况下,防火墙会准许反向(inbound)TCP数据包通过防火墙到达指定端口,这些端口是主机内防火墙背后的一些程序和外界连接用的。通过发送TCP SYN数据包来代替UDP或者ICMP应答数据包,tcptraceroute可以穿透大多数防火墙。
下载链接:http://down.51cto.com/data/161567
一、LIBPCAP:
下载:libpcap
http://down.51cto.com/data/161564 下载 libpcap-0.8.3.tar.gz
安装:
- tar zxvf ~lonen/Testing-pt/libpcap-0.8.3.tar.gz
- ./configure --without-flex --without-bison --prefix=/usr/local/libpcap
二、LIBNET:
下载:libnet
http://down.51cto.com/data/161565 下载libnet-1.0.2a.tar.gz
安装:
- tar zxvf ~lonen/Testing-pt/libnet-1.0.2a.tar.gz
- ln -s Libnet-1.0.2a/ libnet
- cd libnet/
- ./configure --prefix=/usr/local/libnet
- make
- more README
- make install; make supp;make util
- make install
- make supp
三、TCPTRACEROUTE:
下载:tcptraceroute
http://down.51cto.com/data/161567 下载1.5.tar.gz
阅读安装帮助,牢记,养成阅读英文的习惯,工作效率也能够提高很多。真正的心得。
- [root@soft tcptraceroute-1.5beta7]# ./configure --prefix=/usr/local/tcptraceroute \
- > --with-libpcap=/usr/local/libpcap \
- > --with-libnet=/usr/local/libnet \
- > --enable-static
- make;make install
- [root@soft bin]# cp tcptraceroute /bin/
- [root@soft bin]# tcptraceroute --help
- tcptraceroute 1.5beta7
- Copyright (c) 2001-2006 Michael C. Toren <mct@toren.net>
- Updates are available from http://michael.toren.net/code/tcptraceroute/
- Usage: tcptraceroute [-nNFSAE] [-i <interface>] [-f <first ttl>]
- [-l <packet length>] [-q <number of queries>] [-t <tos>]
- [-m <max ttl>] [-pP] <source port>] [-s <source address>]
- [-w <wait time>] <host> [destination port] [packet length]
- -n
- Display numeric output, rather than doing a reverse DNS lookup for each hop. By default, reverse lookups are never attempted on RFC1918
- address space, regardless of the -n flag.
- -N
- Perform a reverse DNS lookup for each hop, including RFC1918 addresses.
- -f
- Set the initial TTL used in the first outgoing packet. The default is 1.
- -m
- Set the maximum TTL used in outgoing packets. The default is 30.
- -p
- Use the specified local TCP port in outgoing packets. The default is to obtain a free port from the kernel using bind(2). Unlike with traditional
- traceroute(8), this number will not increase with each hop.
- -s
- Set the source address for outgoing packets. See also the -i flag.
- -i
- Use the specified interface for outgoing packets.
- -q
- Set the number of probes to be sent to each hop. The default is 3.
- -w
- Set the timeout, in seconds, to wait for a response for each probe. The default is 3.
- -S
- Set the TCP SYN flag in outgoing packets. This is the default, if neither -S or -A is specified.
- -A
- Set the TCP ACK flag in outgoing packets. By doing so, it is possible to trace through stateless firewalls which permit outgoing TCP connections.
- -E
- Send ECN SYN packets, as described in RFC2481.
- -t
- Set the IP TOS (type of service) to be used in outgoing packets. The default is not to set any TOS.
- -F
- Set the IP "don't fragment" bit in outgoing packets.
- -l
- Set the total packet length to be used in outgoing packets. If the length is greater than the minimum size required to assemble the necessary probe
- packet headers, this value is automatically increased.
- -d
- Enable debugging, which may or may not be useful.
- -i 指定接口,网络接口
- -f 起初第几条开始,比如5,开始显示第5跳的结果
- -l traceroute包的长度
- -q 查询的数字号
- -t tos
- -m ***的TTL
- -s 源地址,如果服务器有两块网卡,就可以采用指定-s的源地址路由,在所有的tracert/traceroute都 有这样的基本功能
- -w等待的时间
- host 指定要TRACEROUTE的一个IP或者是域名 www.bloghacker.cn
#p#
四、真是有效的测试记录对比:
- [root@soft ~]# traceroute -w 2 -q 1 -f 5 www.singtel.com.sg
- traceroute to www.singtel.com.sg (203.208.248.10), 30 hops max, 38 byte packets
- 5 219.158.4.66 (219.158.4.66) 27.322 ms
- 6 219.158.3.198 (219.158.3.198) 27.664 ms
- 7 203.208.151.17 (203.208.151.17) 92.729 ms
- 8 GigabitEthernet6-0.sngtp-ar2.ix.singtel.com (203.208.183.19) 108.016 ms
- 9 202.160.250.226 (202.160.250.226) 83.829 ms
- 10 203.208.232.50 (203.208.232.50) 91.525 ms
- 11 203.208.232.57 (203.208.232.57) 83.972 ms
- 12 *
- 13 *
- 14 *
- 15 *
- 16 *
- 17 *
- 18 *
- 19 *
- 20 *
- 21 *
- 22 *
- 23 *
- 24 *
- 25 *
- 26 *
- 27 *
- 28 *
- 29 *
- 30 *
现在看看tcptraceroute:
- [root@soft ~]# tcptraceroute -f 1 www.singtel.com.sg
- Selected device eth0, address 61.51.18.130, port 34733 for outgoing packets
- Tracing the path to www.singtel.com.sg (203.208.248.10) on TCP port 80 (http), 30 hops max
- 1 61.51.18.1 2.512 ms 1.543 ms 1.783 ms
- 2 202.96.13.169 1.548 ms 11.025 ms 6.981 ms
- 3 202.106.192.157 7.470 ms 8.355 ms 4.358 ms
- 4 219.158.4.65 4.590 ms 5.006 ms 2.284 ms
- 5 219.158.4.66 26.886 ms 30.142 ms 25.995 ms
- 6 219.158.3.198 28.820 ms 26.171 ms 28.981 ms
- 7 203.208.151.17 92.619 ms 92.521 ms 96.665 ms
- 8 GigabitEthernet6-0.sngtp-ar2.ix.singtel.com (203.208.183.19) 98.351 ms 97.487 ms 97.133 ms
- 9 202.160.250.226 83.047 ms 83.592 ms 83.252 ms
- 10 203.208.232.50 91.092 ms 90.978 ms 91.000 ms
- 11 203.208.232.57 83.049 ms 82.607 ms 82.000 ms
- 12 203.208.248.10 [open] 83.971 ms 82.609 ms 84.863 ms
- _____________________________________完成TRACEROUTE
五、补充:route的配置静态路由表Linux
route命令主要用于手动配置静态路由表
- #route add net remote_net_ip gateway_ip 1
例:增加一条通过网关到达令一子网的路由
其中add代表要增加路由,net表示路由到达的是一个网络而不是一台主机,1代表远端网络需通过网关才能到达
(直接通过网络接口相连时,该参数用0)
命令格式:
- #route add -net remote_net_ip gateway_ip -netmask netmask
- #route add -host host_ip local_interface_ip -interface
六、HPING
1、下载hping 源代码包
wget http://www.hping.org/hping3-20051105.tar.gz
2、安装帮助文档,仔细看看,在LINUX./BSD的环境下完成;
- Linux
- -----
- please, follows this steps:
- $ ./configure (first try ./configure --help)
- $ vi Makefile (optional)
- $ make
- $ su
- # make install
- FreeBSD, OpenBSD, NetBSD
- ------------------------
- You will need the libpcap and the gmake utility installed on your system.
- $ ./configure
- $ gmake
- $ su (or calife)
- # gmake install
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- NOTE: You should take care about your net/bpf.h file installing on
- BSD systems (specially with OpenBSD). If your original bpf.h was
- overwritten with the libpcap one probably hping will not work
- with over some interface.
- For example if you use the libpcap bpf.h on OpenBSD hping will
- not work over PPP interfaces.
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3、正式完成,加载LIBPCAP
- [root@soft hping3-20051105]# ./configure --prefix=/usr/local/hping --with-libpcap=/usr/local/libpcap
- make;make install
七、其他