kali学习记录之端口扫描

in with 0 comment

端口扫描的目的是识别目标系统中哪些端口是开启状态,哪些服务可以使用。比如FTP/SSH/TELNET/打印服务/web服务等等。计算机系统中共有65536个端口,因此连接这些端口并扫描出可用的端口就变的有意义了。

1、网络连接

kali的网络默认是 设备未托管状态,因此需要开启。开启方法:

      修改/etc/NetworkManager/下的NetworkManger.conf文件,

managed = false修改为true

重启机子

2、FPing工具

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. root@walfred:~# fping -h  
  2.   
  3. Usage: fping [options] [targets...]  
  4.    -a         show targets that are alive  
  5.    -A         show targets by address  
  6.    -b n       amount of ping data to send, in bytes (default 56)  
  7.    -B f       set exponential backoff factor to f  
  8.    -c n       count of pings to send to each target (default 1)  
  9.    -C n       same as -c, report results in verbose format  
  10.    -e         show elapsed time on return packets  
  11.    -f file    read list of targets from a file ( - means stdin) (only if no -g specified)  
  12.    -g         generate target list (only if no -f specified)  
  13.                 (specify the start and end IP in the target list, or supply a IP netmask)  
  14.                 (ex. fping -g 192.168.1.0 192.168.1.255 or fping -g 192.168.1.0/24)  
  15.    -H n       Set the IP TTL value (Time To Live hops)  
  16.    -i n       interval between sending ping packets (in millisec) (default 25)  
  17.    -l         loop sending pings forever  
  18.    -m         ping multiple interfaces on target host  
  19.    -n         show targets by name (-d is equivalent)  
  20.    -p n       interval between ping packets to one target (in millisec)  
  21.                 (in looping and counting modes, default 1000)  
  22.    -q         quiet (don't show per-target/per-ping results)  
  23.    -Q n       same as -q, but show summary every n seconds  
  24.    -r n       number of retries (default 3)  
  25.    -s         print final stats  
  26.    -I if      bind to a particular interface  
  27.    -S addr    set source address  
  28.    -t n       individual target initial timeout (in millisec) (default 500)  
  29.    -T n       ignored (for compatibility with fping 2.4)  
  30.    -u         show targets that are unreachable  
  31.    -O n       set the type of service (tos) flag on the ICMP packets  
  32.    -v         show version  
  33.    targets    list of targets to check (if no -f specified)  

3、Nmap工具

使用方法:

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. root@walfred:~# nmap -h  
  2. Nmap 6.47 ( http://nmap.org )  
  3. Usage: nmap [Scan Type(s)] [Options] {target specification}  
  4. TARGET SPECIFICATION:  
  5.   Can pass hostnames, IP addresses, networks, etc.  
  6.   Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254  
  7.   -iL <inputfilename>: Input from list of hosts/networks  
  8.   -iR <num hosts>: Choose random targets  
  9.   --exclude <host1[,host2][,host3],...>: Exclude hosts/networks  
  10.   --excludefile <exclude_file>: Exclude list from file  
  11. HOST DISCOVERY:     主机网络发现功能  
  12.   -sL: List Scan - simply list targets to scan  
  13.   -sn: Ping Scan - disable port scan  
  14.   -Pn: Treat all hosts as online -- skip host discovery  禁止网络发现功能,认为所有主机在线  
  15.   -PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports  
  16.   -PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes  
  17.   -PO[protocol list]: IP Protocol Ping  
  18.   -n/-R: Never do DNS resolution/Always resolve [default: sometimes]  
  19.   --dns-servers <serv1[,serv2],...>: Specify custom DNS servers  
  20.   --system-dns: Use OS's DNS resolver  
  21.   --traceroute: Trace hop path to each host  
  22. SCAN TECHNIQUES:  
  23.   -sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans       SYN/TCP/ACK/windown/conn扫描参数  
  24.   -sU: UDP Scan                                                    UDP扫描参数指定  
  25.   -sN/sF/sX: TCP Null, FIN, and Xmas scans                         NULL/FIN/xmas扫描  
  26.   --scanflags <flags>: Customize TCP scan flags  
  27.   -sI <zombie host[:probeport]>: Idle scan  
  28.   -sY/sZ: SCTP INIT/COOKIE-ECHO scans  
  29.   -sO: IP protocol scan  
  30.   -b <FTP relay host>: FTP bounce scan  
  31. PORT SPECIFICATION AND SCAN ORDER:  
  32.   -p <port ranges>: Only scan specified ports  
  33.     Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9  
  34.   -F: Fast mode - Scan fewer ports than the default scan  
  35.   -r: Scan ports consecutively - don't randomize  
  36.   --top-ports <number>: Scan <number> most common ports  
  37.   --port-ratio <ratio>: Scan ports more common than <ratio>  
  38. SERVICE/VERSION DETECTION:  
  39.   -sV: Probe open ports to determine service/version info  
  40.   --version-intensity <level>: Set from 0 (light) to 9 (try all probes)  
  41.   --version-light: Limit to most likely probes (intensity 2)  
  42.   --version-all: Try every single probe (intensity 9)  
  43.   --version-trace: Show detailed version scan activity (for debugging)  
  44. SCRIPT SCAN:  
  45.   -sC: equivalent to --script=default  
  46.   --script=<Lua scripts>: <Lua scripts> is a comma separated list of   
  47.            directories, script-files or script-categories  
  48.   --script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts  
  49.   --script-args-file=filename: provide NSE script args in a file  
  50.   --script-trace: Show all data sent and received  
  51.   --script-updatedb: Update the script database.  
  52.   --script-help=<Lua scripts>: Show help about scripts.  
  53.            <Lua scripts> is a comma-separated list of script-files or  
  54.            script-categories.  
  55. OS DETECTION:  
  56.   -O: Enable OS detection  
  57.   --osscan-limit: Limit OS detection to promising targets  
  58.   --osscan-guess: Guess OS more aggressively  
  59. TIMING AND PERFORMANCE:  
  60.   Options which take <time> are in seconds, or append 'ms' (milliseconds),  
  61.   's' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).  
  62.   -T<0-5>: Set timing template (higher is faster)  
  63.   --min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes  
  64.   --min-parallelism/max-parallelism <numprobes>: Probe parallelization  
  65.   --min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifies  
  66.       probe round trip time.  
  67.   --max-retries <tries>: Caps number of port scan probe retransmissions.  
  68.   --host-timeout <time>: Give up on target after this long  
  69.   --scan-delay/--max-scan-delay <time>: Adjust delay between probes  
  70.   --min-rate <number>: Send packets no slower than <number> per second  
  71.   --max-rate <number>: Send packets no faster than <number> per second  
  72. FIREWALL/IDS EVASION AND SPOOFING:  
  73.   -f; --mtu <val>: fragment packets (optionally w/given MTU)  
  74.   -D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys  
  75.   -S <IP_Address>: Spoof source address  
  76.   -e <iface>: Use specified interface  
  77.   -g/--source-port <portnum>: Use given port number  
  78.   --proxies <url1,[url2],...>: Relay connections through HTTP/SOCKS4 proxies  
  79.   --data-length <num>: Append random data to sent packets  
  80.   --ip-options <options>: Send packets with specified ip options  
  81.   --ttl <val>: Set IP time-to-live field  
  82.   --spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address  
  83.   --badsum: Send packets with a bogus TCP/UDP/SCTP checksum  
  84. OUTPUT:  
  85.   -oN/-oX/-oS/-oG <file>: Output scan in normal, XML, s|<rIpt kIddi3,  
  86.      and Grepable format, respectively, to the given filename.  
  87.   -oA <basename>: Output in the three major formats at once  
  88.   -v: Increase verbosity level (use -vv or more for greater effect)  
  89.   -d: Increase debugging level (use -dd or more for greater effect)  
  90.   --reason: Display the reason a port is in a particular state  
  91.   --open: Only show open (or possibly open) ports  
  92.   --packet-trace: Show all packets sent and received  
  93.   --iflist: Print host interfaces and routes (for debugging)  
  94.   --log-errors: Log errors/warnings to the normal-format output file  
  95.   --append-output: Append to rather than clobber specified output files  
  96.   --resume <filename>: Resume an aborted scan  
  97.   --stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML  
  98.   --webxml: Reference stylesheet from Nmap.Org for more portable XML  
  99.   --no-stylesheet: Prevent associating of XSL stylesheet w/XML output  
  100. MISC:  
  101.   -6: Enable IPv6 scanning  
  102.   -A: Enable OS detection, version detection, script scanning, and traceroute  
  103.   --datadir <dirname>: Specify custom Nmap data file location  
  104.   --send-eth/--send-ip: Send using raw ethernet frames or IP packets  
  105.   --privileged: Assume that the user is fully privileged  
  106.   --unprivileged: Assume the user lacks raw socket privileges  
  107.   -V: Print version number  
  108.   -h: Print this help summary page.  
  109. EXAMPLES:  
  110.   nmap -v -A scanme.nmap.org  
  111.   nmap -v -sn 192.168.0.0/16 10.0.0.0/8  
  112.   nmap -v -iR 10000 -Pn -p 80  
  113. SEE THE MAN PAGE (http://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES  

3.1Nmap执行TCP扫描

-sT 对TCP进行扫描

-p- 对所有端口扫描

-PN 禁用Nmap网络发现功能,假定所有系统都是活动的

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. root@walfred:~# nmap -sT -p- -PN   192.168.115.1  
  2.   
  3. Starting Nmap 6.47 ( http://nmap.org ) at 2014-10-23 20:38 CST  
  4. Stats: 0:12:34 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan  
  5. Connect Scan Timing: About 90.20% done; ETC: 20:51 (0:01:22 remaining)  
  6. Stats: 0:16:16 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan  
  7. Connect Scan Timing: About 94.41% done; ETC: 20:55 (0:00:58 remaining)  
  8. Nmap scan report for 192.168.115.1  
  9. Host is up (0.0022s latency).  
  10. Not shown: 65533 closed ports  
  11. PORT   STATE SERVICE  
  12. 23/tcp open  telnet  
  13. 80/tcp open  http  
  14.   
  15. Nmap done: 1 IP address (1 host up) scanned in 1274.21 seconds  

3.2Nmap执行UDP扫描

扫描udp也是有理由的,比如一些基于udp的服务,SNMP、TFTP、DHCP、DNS等等

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. root@walfred:~# nmap -sU 192.168.115.188  
  2.   
  3. Starting Nmap 6.47 ( http://nmap.org ) at 2014-10-23 20:21 CST  
  4. Nmap scan report for 192.168.115.188  
  5. Host is up (0.00069s latency).  
  6. Not shown: 994 closed ports  
  7. PORT     STATE         SERVICE  
  8. 137/udp  open          netbios-ns  
  9. 138/udp  open|filtered netbios-dgm  
  10. 500/udp  open|filtered isakmp  
  11. 1900/udp open|filtered upnp  
  12. 4500/udp open|filtered nat-t-ike  
  13. 5355/udp open|filtered llmnr  
  14. MAC Address: xxxxxxxxxxxxxx (Universal Global Scientific Industrial Co.)  
  15.   
  16. Nmap done: 1 IP address (1 host up) scanned in 974.78 seconds  

3.3Nmap执行SYN扫描

nmap默认就是这种方式。这种方式要比TCP扫描快,因为只执行三次握手的前两次。也不会造成拒绝服务攻击

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. root@walfred:~# nmap -sS -p- -PN 192.168.115.1  
  2.   
  3. Starting Nmap 6.47 ( http://nmap.org ) at 2014-10-23 20:26 CST  
  4. Nmap scan report for 192.168.115.1  
  5. Host is up (0.0020s latency).  
  6. Not shown: 65533 closed ports  
  7. PORT   STATE SERVICE  
  8. 23/tcp open  telnet  
  9. 80/tcp open  http  
  10. MAC Address: xxxxxxxxxxxxxx (Digital China (Shanghai) Networks)  
  11.   
  12. Nmap done: 1 IP address (1 host up) scanned in 368.52 seconds  
哇偶,竟然开放了telnet....

3.3Nmap执行Xmas扫描

RFC文档描述了系统的技术细节,因此如果得到RFC文档,那么就可能找到系统的漏洞,xmas和null扫描的目的正是基于这一原因。

如果系统遵循了TCP RFC文档,那么不用完成连接,仅仅在发起连接的时候,namp就可以判断出目标系统的状态。

但是一般xmas针对unix或者linux系统比较有效。

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. root@walfred:~# nmap -sX -p- -Pn  192.168.115.1  
  2.   
  3. Starting Nmap 6.47 ( http://nmap.org ) at 2014-10-23 20:42 CST  
  4. Nmap scan report for 192.168.115.1  
  5. Host is up (0.0029s latency).  
  6. Not shown: 65533 closed ports  
  7. PORT   STATE         SERVICE  
  8. 23/tcp open|filtered telnet  
  9. 80/tcp open|filtered http  
  10. MAC Address: XXXXXXXXXXXXX (Digital China (Shanghai) Networks)  
  11.   
  12. Nmap done: 1 IP address (1 host up) scanned in 382.91 seconds  

3.4Nmap执行Null

[plain] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. root@walfred:~# nmap -sN -p- -Pn  192.168.115.1  
  2.   
  3. Starting Nmap 6.47 ( http://nmap.org ) at 2014-10-23 20:49 CST  
  4. Stats: 0:04:54 elapsed; 0 hosts completed (1 up), 1 undergoing NULL Scan  
  5. NULL Scan Timing: About 78.30% done; ETC: 20:55 (0:01:20 remaining)  
  6. Nmap scan report for 192.168.115.1  
  7. Host is up (0.0018s latency).  
  8. Not shown: 65533 closed ports  
  9. PORT   STATE         SERVICE  
  10. 23/tcp open|filtered telnet  
  11. 80/tcp open|filtered http  
  12. MAC Address: XXXXXXXXXXXXX (Digital China (Shanghai) Networks)  
  13.   
  14. Nmap done: 1 IP address (1 host up) scanned in 376.37 seconds  
Comments are closed.