diff options
author | Laurent Ghigonis <laurent@p1sec.com> | 2013-07-07 04:25:45 +0200 |
---|---|---|
committer | Laurent Ghigonis <laurent@p1sec.com> | 2013-07-07 04:25:45 +0200 |
commit | 2854f228a7b9aacbb7873b5ba0d474f959ad9605 (patch) | |
tree | 58be4889893f2016afaa0d06e38a19073efbe709 /gg_sniff/pcap.c | |
parent | libglouglou: compile with -g (diff) | |
download | glouglou-2854f228a7b9aacbb7873b5ba0d474f959ad9605.tar.xz glouglou-2854f228a7b9aacbb7873b5ba0d474f959ad9605.zip |
traceroute improvements
* don't group traceroute nodes by address
* put src ip in traceroute glouglou packet
* correctly link nodes in gg_map
Diffstat (limited to 'gg_sniff/pcap.c')
-rw-r--r-- | gg_sniff/pcap.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gg_sniff/pcap.c b/gg_sniff/pcap.c index d0b326a..d5e5809 100644 --- a/gg_sniff/pcap.c +++ b/gg_sniff/pcap.c @@ -370,10 +370,15 @@ cb_nodetraceroute(struct ggnet *net, struct ggnet_traceroute_req *req) pkt.ver = PACKET_VERSION; pkt.type = PACKET_TRACE; pkt.trace_addr = req->target->ip.addr_ip; + pkt.trace_src = req->srcip.addr_ip; + printf("XXX oooooooooooooooooo %x\n", pkt.trace_addr); pkt.trace_hopcount = req->hopcount_total; i = 0; TAILQ_FOREACH(h, &req->hops_list, entry) { - pkt.trace_hops[i].addr = h->ip.addr_ip; + //inet_aton(addr_ntoa(&h->ip), &ip); + //pkt.trace_hops[i].addr = ip.s_addr; + pkt.trace_hops[i].addr = ntohl(h->ip.addr_ip); + printf("XXX ------------------- %x\n", pkt.trace_hops[i].addr); pkt.trace_hops[i].delay = h->delay; pkt.trace_hops[i].loss = h->loss; pkt.trace_hops[i].asn = h->asn; |