aboutsummaryrefslogtreecommitdiffstats
path: root/gg_sniff/pcap.c
diff options
context:
space:
mode:
authorLaurent Ghigonis <laurent@p1sec.com>2013-07-07 04:25:45 +0200
committerLaurent Ghigonis <laurent@p1sec.com>2013-07-07 04:25:45 +0200
commit2854f228a7b9aacbb7873b5ba0d474f959ad9605 (patch)
tree58be4889893f2016afaa0d06e38a19073efbe709 /gg_sniff/pcap.c
parentlibglouglou: compile with -g (diff)
downloadglouglou-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.c7
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;