Banner
banner即连上服务器后,服务器的第一条欢迎语句。
通常banner会标识正在运行的服务器,显示服务名称和版本号。
root@kali nc -nv 192.168.80.30 21
(UNKNOWN)[192.168.80,30](ftp) open
220 (vsFTPd 2.3.4)
^C
Socket
socket完成的是网络通信功能。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。
客户端和服务端之间建立连接 , 客户端和服务端就叫做两个socket——重点掌握模块。
建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。
python获取banner基本代码
import socket
socket.setdefaulttimeout(2)
s=socket.socket
s.connet("192.168.80.30",21)
ans=s.recv(1024)
s.close()
print ans
第一行,导入socket模块。
第二行,设置超时时间,如果两秒之内无法建立联系,就超时退出。
第三行,定义了一个s对象,表示引用socket模块中的socket方法来建立一个socket。
第四行,s.connect表示调用socket模块中connect方法来连接目标主机。
第五行,接受返回信息中的前1024B数据。
第六行,关闭连接。
第七行,输出接收到的信息。