@@ -75,3 +75,31 @@ source port and configure your firewall to drop traffic on this port, e.g.:
7575Since UDP is connection-less there is no need to prevent interference, though this
7676is still a good idea to prevent your OS from sending unnecessary ICMPv6 unreachable
7777responses (fi6s also tries this by default).
78+
79+ ### Selecting the source IP
80+
81+ A big advantage of IPv6 is the large address space, and another way of avoiding
82+ the IP stack problem described above is to just use a different source IP.
83+
84+ This IP should not be assigned to your local machine, but it * must* be statically routed
85+ to your machine, because fi6s will not answer NDP queries.
86+
87+ To check if an IP is working correctly you can simply ping a known public IP, e.g.:
88+
89+ # ./fi6s --icmp --source-ip $your_ip 2001:4860:4860::8888
90+
91+ ## Limitations
92+
93+ In order to permit the design of fi6s some assumptions had to be made about
94+ the network environment. These do not impact typical usage at all but listed here
95+ for completeness.
96+
97+ This means fi6s may not perform as expected or outright not work if:
98+ * you have a non-trivial routing table (it will be ignored. fi6s expects a single gateway)
99+ * you are scanning targets in the local network (fi6s does not do neighbor discovery)
100+ * you have a connection-tracking firewall
101+ * your IP or router's MAC changes mid-scan ¯\\\_ (ツ)_ /¯
102+ * your network has consistent packet loss
103+
104+ For banner collection note that fi6s does not come with anything resembling a real TCP
105+ stack. It merely supports sending one query and reading response data that follows. Resends are not implemented.
0 commit comments