All Projects → sfan5 → Fi6s

sfan5 / Fi6s

Licence: other
IPv6 network scanner designed to be fast

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Fi6s

net-protocol
golang模拟内核协议栈 实现链路层、网络层、传输层、应用层 用户态协议栈 ,基于虚拟网卡TUN/TAP
Stars: ✭ 129 (+11.21%)
Mutual labels:  tcp, ipv6, udp
Computer Networking A Top Down Approach Notes
《计算机网络-自顶向下方法(原书第6版)》编程作业,Wireshark实验文档的翻译和解答。
Stars: ✭ 3,890 (+3253.45%)
Mutual labels:  network, tcp, udp
ebook
Third edition of the Computer Networking: Principles, Protocols and Practice ebook
Stars: ✭ 64 (-44.83%)
Mutual labels:  tcp, ipv6, udp
captcp
A open source program for TCP analysis of PCAP files
Stars: ✭ 110 (-5.17%)
Mutual labels:  tcp, ipv6, udp
Cnp3
Computer Networking : Principles, Protocols and Practice (first and second edition, third edition is being written on https://github.com/cnp3/ebook)
Stars: ✭ 471 (+306.03%)
Mutual labels:  tcp, udp, ipv6
dperf
dperf is a DPDK based 100Gbps network performance and load testing software.
Stars: ✭ 1,320 (+1037.93%)
Mutual labels:  tcp, ipv6, udp
Packetsender
Network utility for sending / receiving TCP, UDP, SSL
Stars: ✭ 1,349 (+1062.93%)
Mutual labels:  tcp, udp, ipv6
Enet
⚡️ ENet reliable UDP networking library
Stars: ✭ 202 (+74.14%)
Mutual labels:  network, udp, ipv6
Hp Socket
High Performance TCP/UDP/HTTP Communication Component
Stars: ✭ 4,420 (+3710.34%)
Mutual labels:  network, tcp, udp
Message Io
Event-driven message library for building network applications easy and fast.
Stars: ✭ 321 (+176.72%)
Mutual labels:  network, tcp, udp
Network
C# Network Library
Stars: ✭ 237 (+104.31%)
Mutual labels:  network, tcp, udp
Pytcp
PyTCP is an attempt to create fully functional TCP/IP stack in Python. It supports TCP stream based transport with reliable packet delivery based on sliding window mechanism and basic congestion control. It also supports IPv6/ICMPv6 protocols with SLAAC address configuration. It operates as user space program attached to Linux TAP interface. As of today stack is able to send and receive traffic over Internet using IPv4 and IPv6 default gateways for routing. Since goal of this project is purely educational (at least at this point) the clarity of code is preferred over its efficiency. For the same reason security features are not being implemented just yet unless they are integral part of TCP/IP suite protocols specification.
Stars: ✭ 65 (-43.97%)
Mutual labels:  network, tcp, udp
Pjon
PJON (Padded Jittering Operative Network) is an experimental, arduino-compatible, multi-master, multi-media network protocol.
Stars: ✭ 2,615 (+2154.31%)
Mutual labels:  network, tcp, udp
masscanned
Let's be scanned. A low-interaction honeypot focused on network scanners and bots. It integrates very well with IVRE to build a self-hosted alternative to GreyNoise.
Stars: ✭ 50 (-56.9%)
Mutual labels:  tcp, ipv6, udp
Pypacker
📦 The fastest and simplest packet manipulation lib for Python
Stars: ✭ 216 (+86.21%)
Mutual labels:  network, tcp, udp
EdgeAdmin
CDN & WAF集群管理系统。
Stars: ✭ 199 (+71.55%)
Mutual labels:  tcp, ipv6, udp
Kalm.js
The socket manager
Stars: ✭ 155 (+33.62%)
Mutual labels:  network, tcp, udp
Netscanner
netscanner - TCP/UDP scanner to find open or closed ports
Stars: ✭ 191 (+64.66%)
Mutual labels:  network, tcp, scanner
Netcat
💻 Netcat client and server modules written in pure Javascript for Node.js.
Stars: ✭ 315 (+171.55%)
Mutual labels:  tcp, udp, scanner
Yasio
A multi-platform support c++11 library with focus on asio (asynchronous socket I/O) for any client application.
Stars: ✭ 483 (+316.38%)
Mutual labels:  tcp, udp, ipv6

fi6s: Fast IPv6 scanner

fi6s is an IPv6 port scanner designed to be fast. This is achieved by sending and processing raw packets asynchronously. The design and goal is pretty similar to Masscan, though it is not as full-featured yet.

Compiling

Building fi6s is fairly easy on any recent Linux system, e.g. on Ubuntu:

# apt install gcc make git libpcap-dev
$ git clone https://github.com/sfan5/fi6s.git
$ cd fi6s
$ make BUILD_TYPE=release

The scanner executable will be ready at ./fi6s.

Note that fi6s is developed and tested solely on Linux. It should work on other UNIX-like platforms, but don't expect it to run on Windows.

Usage

Usage is pretty easy, fi6s will try to auto-detect the dirty technical details such as source, router MAC addresses and source IP.

# ./fi6s -p 80,8000-8100 2001:db8::/120

This example will:

  • scan the 2001:db8::/120 subnet (256 addresses in total)
  • scan TCP ports 80 and 8000 to 8100 (102 ports in total)
  • send as many packets per second as possible
  • output scan results to standard output in the "list" format

There are more different ways of specifying an address range to scan, if you aren't sure what's about to happen invoke fi6s with --print-hosts to print all IPs or --print-summary to get a quick overview about the scan.

For more advanced features please consult the output of fi6s --help.

Grabbing banners

Since fi6s has its own TCP stack, the OS' stack needs to disabled to avoid interference with banner grabbing (RST packets). This is easily done using ip6tables and a constant --source-port.

Banner grabbing is then enabled by passing --banners:

# ip6tables -A INPUT -p tcp -m tcp --dport 12345 -j DROP
# ./fi6s -p 22 --banners --source-port 12345 2001:db8::xx

UDP

Dropping packets before they reach the OS stack is not required for UDP scans, but is still a good idea to avoid a flood of ICMPv6 unreachable responses.

Other than that you only need an additional --udp:

# ip6tables -A INPUT -p udp -m udp --dport 12345 -j DROP
# ./fi6s -p 53 --banners --udp --source-port 12345 2001:db8::xx

Note that unlike with TCP, you will only get useful (or any) results if you scan a port whose protocol is supported by fi6s. You can use fi6s --list-protocols to view a list.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].