forked from edma2/asmscan
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
54 lines (37 loc) · 1.44 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
asmscan
Author: Eugene Ma
==========[ 0x0 Introduction ]
asmscan is a port scanner written entirely in 32-bit x86 assembly, with
both TCP and SYN scanning capabilities. It uses Linux system calls to interface
with the network stack, which makes the code unportable across platforms, but
keeps it completely libc free.
==========[ 0x1 Features ]
- libc free
- compact binary size
- network optimized speed
==========[ 0x2 Installation ]
You will need nasm.
$ cat Makefile
asmscan: asmscan.o
ld -s -o asmscan asmscan.o
asmscan.o: asmscan.asm
nasm -f elf -o asmscan.o asmscan.asm
==========[ 0x3 Usage ]
$ ./asmscan
Usage: asmscan <target ip>
==========[ 0x4 Operation ]
asmscan implements two modes of operation.
1. If run by a normal user, asmscan will perform a TCP scan, and attempt to
connect with ports 0-1023.
2. If run with root permissions, asmscan will perform a SYN scan, sending
custom crafted TCP SYN packets to the target host and listening for replies. It
will first send an ICMP ping to calculate the shortest time to wait for replies
from the host.
In both modes, asmscan scans ports in parallel instead of serially. This gives
it speeds that are comparable to those of nmap.
==========[ 0x5 Todo ]
- Allow user to specify a range of ports
- Allow user to specify a range of IP's
- Greater granularity of port state: notify the user if a port is open, closed,
filtered, or possibly something else.
- Make the binary even smaller