lambdahuang / flashroute Goto Github PK
View Code? Open in Web Editor NEW🚀 Takes minutes to explore the topology of all routable /24 prefixes in IPv4 address space. Now supports IPv6 scan!
License: Other
🚀 Takes minutes to explore the topology of all routable /24 prefixes in IPv4 address space. Now supports IPv6 scan!
License: Other
I perform one scan and then try to parse the results using the same command shown in the readme. However, it seems that there is no valid output. Did I make any mistakes?
./input/test_targets.txt
is consisted of 100 (active) IPv6 addresses, with one IP address per line.
me@ubuntu18:~/FlashRoute$ sudo ./bazel-bin/flashroute/flashroute --interface ens3 --targets ./input/test_targets.txt --output ./output/flashroute_output
I1101 13:52:26.842790 39976 main.cc:244] Seed for random number generator is 0, we random generate the seed: 1635774746
I1101 13:52:26.843158 39976 blacklist.cc:40] Blacklist disabled.
I1101 13:52:26.843225 39976 main.cc:259] Load 15 blacklist rules.
I1101 13:52:26.844971 39976 traceroute.cc:241] Start preprobing.
I1101 13:52:29.932461 39976 traceroute.cc:256] Preprobing finished (Took 3 seconds).
I1101 13:52:29.932910 39976 traceroute.cc:308] Start main probing.
I1101 13:52:36.844626 39980 traceroute.cc:137] R: 7 S: 0.00k R: 0.00k PreP: 100.00 RmnP: 25.00 IfCnt: 3 FwIfCnt: 0
I1101 13:52:41.845054 39980 traceroute.cc:137] R: 12 S: 0.00k R: 0.01k PreP: 100.00 RmnP: 25.00 IfCnt: 7 FwIfCnt: 0
I1101 13:52:42.942278 39976 traceroute.cc:361] Scan finished.
I1101 13:52:43.016521 39976 traceroute.cc:368] Main probing finished (Took 13 seconds).
I1101 13:52:44.016777 39976 traceroute.cc:465] Average Sending Rate: 0.00 Kpps
I1101 13:52:44.016945 39976 traceroute.cc:467] Average Receving Rate: 0.01 Kpps
I1101 13:52:44.016968 39976 traceroute.cc:469] Sent packets: 26
I1101 13:52:44.017005 39976 traceroute.cc:471] Received packets: 89
I1101 13:52:44.017042 39976 traceroute.cc:473] Total Dropped responses: 0
I1101 13:52:44.017060 39976 traceroute.cc:476] Other dropped: 0
I1101 13:52:44.017071 39976 traceroute.cc:478] Checksum Mismatches: 0
I1101 13:52:44.017083 39976 traceroute.cc:480] Distance Abnormalities: 0
I1101 13:52:44.017112 39976 traceroute.cc:482] Sent probes: 22
I1101 13:52:44.017125 39976 traceroute.cc:483] Sent preprobes: 4
I1101 13:52:44.017156 39976 traceroute.cc:485] Interfaces Forward-probing: 0
I1101 13:52:44.017174 39976 traceroute.cc:487] Interfaces Backward-probing: 8
I1101 13:52:44.017189 39976 traceroute.cc:492] Discovered Interfaces: 8
I1101 13:52:46.845803 39976 blacklist.cc:21] Free the blacklist.
I1101 13:52:46.845891 39976 main.cc:345] The program ends.
me@ubuntu18:~/FlashRoute$ bazel run parsers/utils/route_generator -- --file ./output/flashroute_output
INFO: Build options --compilation_mode and --cxxopt have changed, discarding analysis cache.
INFO: Analyzed target //parsers/utils:route_generator (0 packages loaded, 6688 targets configured).
INFO: Found 1 target...
Target //parsers/utils:route_generator up-to-date:
bazel-bin/parsers/utils/route_generator
INFO: Elapsed time: 1.590s, Critical Path: 0.02s
INFO: 1 process: 1 internal.
INFO: Build completed successfully, 1 total action
INFO: Build completed successfully, 1 total action
WARNING: Logging before InitGoogleLogging() is written to STDERR
I1101 13:52:57.646713 40089 route_generator.cc:21] Program starts.
I1101 13:52:57.647363 40089 utils.cc:77] Preprocessing finished.
I1101 13:52:57.647799 40089 utils.cc:111] Processing finished.
I1101 13:52:57.647845 40089 route_generator.cc:31] Finished
Hi, I'm recently working on a course project to reproduce your work, and I'd like to say that your work is so great and creative!
However I'm a little bit confused with the callback function of main probing, that is
if (!fromDestination) {
...
} else {
targetList_[blockIndex].stopForwardProbing();
}
My question is: shouldn't we add the target into some set (stop or discovery set) if the response is from destination? Will this cause some targets be missed?
To check this, I generate a random target list of /24 and then run the test, figuring out that adding a line like backwardProbingStopSet_.insert(responder);
will increase the total probed interfaces from 800,000 to 1,200,000. This make me confused but it seems that no interfaces are counted more than twice indeed.
Looking forward to your reply!
--interface ens33 --probing_rate 5000 --output 5wtest.flash --targets 5w.txt --remove_reserved_addresses=false
I0702 10:53:53.798367 241632 main.cc:257] Seed for random number generator is 0, we random generate the seed: 1719888833
I0702 10:53:53.798688 241632 blacklist.cc:40] Blacklist disabled.
I0702 10:53:53.861064 241632 traceroute.cc:243] Start preprobing.
I0702 10:53:56.861601 241632 traceroute.cc:258] Preprobing finished (Took 3 seconds).
I0702 10:53:56.861884 241632 traceroute.cc:311] Start main probing.
I0702 10:54:14.881989 241632 traceroute.cc:368] Scan finished.
I0702 10:54:14.882509 241632 traceroute.cc:375] Main probing finished (Took 18 seconds).
I0702 10:54:15.882810 241632 traceroute.cc:483] Average Sending Rate: 0.02 Kpps
I0702 10:54:15.882894 241632 traceroute.cc:485] Average Receving Rate: 0.00 Kpps
I0702 10:54:15.882905 241632 traceroute.cc:487] Sent packets: 522
I0702 10:54:15.882915 241632 traceroute.cc:489] Received packets: 0
I0702 10:54:15.882931 241632 traceroute.cc:491] Total Dropped responses: 0
I0702 10:54:15.882948 241632 traceroute.cc:494] Other dropped: 0
I0702 10:54:15.882965 241632 traceroute.cc:495] Checksum Mismatches: 0
I0702 10:54:15.882982 241632 traceroute.cc:497] Distance Abnormalities: 0
I0702 10:54:15.882999 241632 traceroute.cc:499] Sent probes: 493
I0702 10:54:15.883009 241632 traceroute.cc:500] Sent preprobes: 29
I0702 10:54:15.883025 241632 traceroute.cc:501] Hit nonstop: 0
I0702 10:54:15.883042 241632 traceroute.cc:503] Interfaces Forward-probing: 0
I0702 10:54:15.883059 241632 traceroute.cc:505] Interfaces Backward-probing: 0
I0702 10:54:15.883076 241632 traceroute.cc:509] Discovered Interfaces: 0
I0702 10:54:18.864709 241632 blacklist.cc:21] Free the blacklist.
I0702 10:54:18.864939 241632 main.cc:370] The program ends.
I try to install the application but I can not solve this error to be able to use the application.
Does anyone know the solution?
ERROR: /home/oan/Desktop/FlashRoute/flashroute/BUILD:230:11: C++ compilation of rule '//flashroute:dump_result' failed (Exit 1): gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++14' -MD -MF ... (remaining 43 argument(s) skipped)
Use --sandbox_debug to see verbose messages from the sandbox gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++14' -MD -MF ... (remaining 43 argument(s) skipped)
Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/boost/boost/smart_ptr/detail/sp_thread_sleep.hpp:22,
from external/boost/boost/smart_ptr/detail/yield_k.hpp:23,
from external/boost/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp:14,
from external/boost/boost/smart_ptr/detail/spinlock.hpp:42,
from external/boost/boost/smart_ptr/detail/spinlock_pool.hpp:25,
from external/boost/boost/smart_ptr/shared_ptr.hpp:29,
from external/boost/boost/shared_ptr.hpp:17,
from external/boost/boost/date_time/time_clock.hpp:17,
from external/boost/boost/date_time/posix_time/posix_time_types.hpp:10,
from external/boost/boost/asio/time_traits.hpp:23,
from external/boost/boost/asio/detail/timer_queue_ptime.hpp:22,
from external/boost/boost/asio/detail/deadline_timer_service.hpp:29,
from external/boost/boost/asio/basic_deadline_timer.hpp:25,
from external/boost/boost/asio.hpp:25,
from ./flashroute/dump_result.h:7,
from flashroute/dump_result.cc:2:
external/boost/boost/bind.hpp:36:1: note: '#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.'
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
flashroute/dump_result.cc: In destructor 'flashroute::ResultDumper::~ResultDumper()':
flashroute/dump_result.cc:43:23: error: 'sleep_for' is not a member of 'std::this_thread'
43 | std::this_thread::sleep_for(
| ^~~~~~~~~
flashroute/dump_result.cc:43:23: note: suggested alternatives:
In file included from external/boost/boost/thread/pthread/condition_variable.hpp:15,
from external/boost/boost/thread/condition_variable.hpp:16,
from external/boost/boost/thread/condition.hpp:13,
from ./flashroute/bounded_buffer.h:7,
from ./flashroute/dump_result.h:13,
from flashroute/dump_result.cc:2:
external/boost/boost/thread/pthread/thread_data.hpp:295:14: note: 'boost::this_thread::sleep_for'
295 | void sleep_for(const chrono::duration<Rep, Period>& d)
| ^~~~~~~~~
external/boost/boost/thread/pthread/thread_data.hpp:341:16: note: 'boost::this_thread::no_interruption_point::sleep_for'
341 | void sleep_for(const chrono::duration<Rep, Period>& d)
| ^~~~~~~~~
flashroute/dump_result.cc: In member function 'void flashroute::ResultDumper::runDumpingThread()':
flashroute/dump_result.cc:92:23: error: 'sleep_for' is not a member of 'std::this_thread'
92 | std::this_thread::sleep_for(std::chrono::milliseconds(kDumpingIntervalMs));
| ^~~~~~~~~
flashroute/dump_result.cc:92:23: note: suggested alternatives:
In file included from external/boost/boost/thread/pthread/condition_variable.hpp:15,
from external/boost/boost/thread/condition_variable.hpp:16,
from external/boost/boost/thread/condition.hpp:13,
from ./flashroute/bounded_buffer.h:7,
from ./flashroute/dump_result.h:13,
from flashroute/dump_result.cc:2:
external/boost/boost/thread/pthread/thread_data.hpp:295:14: note: 'boost::this_thread::sleep_for'
295 | void sleep_for(const chrono::duration<Rep, Period>& d)
| ^~~~~~~~~
external/boost/boost/thread/pthread/thread_data.hpp:341:16: note: 'boost::this_thread::no_interruption_point::sleep_for'
341 | void sleep_for(const chrono::duration<Rep, Period>& d)
| ^~~~~~~~~
Target //flashroute:flashroute failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 43.193s, Critical Path: 7.71s
INFO: 162 processes: 2 internal, 160 linux-sandbox.
FAILED: Build did NOT complete successfully
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.