当前位置:  技术问答>linux和unix

虚心请教Linux Socket编程中如何根据指纹信息判断端口服务

    来源: 互联网  发布时间:2016-03-02

    本文导语:  如题:请教一下,像nmap一样可以通过开放的TCP端口获取的信息判断服务及版本号(FTP,WWW,,),想求具体实现细节(最好有源代码或者简要的代码也行,但具体细节请标识清楚,俺真的有点笨,,)          疑问:1.对远程主机端口...

如题:请教一下,像nmap一样可以通过开放的TCP端口获取的信息判断服务及版本号(FTP,WWW,,),想求具体实现细节(最好有源代码或者简要的代码也行,但具体细节请标识清楚,俺真的有点笨,,)
   
     疑问:1.对远程主机端口送什么样的信息才能得到指纹信息,如何编写信息包,如何接收分解返回的信息,

       2.需要建立的套接字类型,这个一直不懂希望能详解一下.

       3.如果把指纹信息文件(nmap源代码中好像有这样的文件)与获取的指纹信息相匹配 (这个实在不懂如何匹配,nmap源代码都看得发晕了)

先谢谢各位大侠了啊,!~!!

|
呵呵,你问了指纹,所以帮你找了一些资料。

如果要知道服务的信息,不同的服务会有不同的方法,最直接的是了解协议的内容。
比较简单的是HTTP,比如发一个GET命令过去,就会得到类似下面的典型信息:
[code=INIFile]
HTTP/1.0200OK
Date:Mon,31Dec200104:25:57GMT
Server:Apache/1.3.14(Unix)
Content-type:text/html
Last-modified:Tue,17Apr200106:46:28GMT
Etag:"a030f020ac7c01:1e9f"
Content-length:39725426
Content-range:bytes554554-40279979/40279980
[/code]
里面会有你需要的信息。


而ftp需要了解具体的命令,比如syst(system)命令可以得到系统类型:
ftp> syst
215 UNIX Type: L8


status命令可以得到服务器状态:
[code=INIFile]
ftp> status
Connected and logged into pub.kernel.org.
No proxy connection.
Gate ftp: off, server (none), port ftpgate.
Passive mode: on; fallback to active mode: on.
Mode: stream; Type: binary; Form: non-print; Structure: file.
Verbose: on; Bell: off; Prompting: on; Globbing: on.
Store unique: off; Receive unique: off.
Preserve modification times: on.
Case: off; CR stripping: on.
Ntrans: off.
Nmap: off.
Hash mark printing: off; Mark count: 1024; Progress bar: on.
Get transfer rate throttle: off; maximum: 0; increment 1024.
Put transfer rate throttle: off; maximum: 0; increment 1024.
Socket buffer sizes: send 16384, receive 87380.
Use of PORT cmds: on.
Use of EPSV/EPRT cmds for IPv4: on.
Command line editing: on.
Version: lukemftp 1.5



ftp> rstatus
211-FTP server status:
     Connected to xx.xx.xx.xx
     Logged in as ftp
     TYPE: ASCII
     No session bandwidth limit
     Session timeout in seconds is 300
     Control connection is plain text
     Data connections will be plain text
     At session startup, client count was 44
     vsFTPd 2.0.4 - secure, fast, stable
211 End of status

[/code]

ftp命令介绍参考这里:
http://www.blueidea.com/computer/server/2003/112.asp

其他协议你可以自己研究。

|
这应该很复杂的
建议你看TCP/IP 卷1,2
有个tcpdump命令挺好用的

    
 
 

您可能感兴趣的文章:

  • 请教:为什么我的apache只有在80端口时,才能访问,而在另外端口下(如8080等),不能被访问,为什么?
  • 请教为什么crond进程会占用80端口
  • 请教:防火墙如何正确开启80端口? 谢谢!
  • 请教高手:FreeBSD下什么命令能释放系统的端口
  • 请教一个简单的判断某个端口是否打开的方法
  • 请教:linux如何对USB 端口进行上电和断电操作
  • 请教:linux上出现的9098监听端口怎么回事?
  • 请教,在Linux系统中如何统计某一端口的单播包和非单播包数量?
  • 请教下用什么命令去查询某个端口是否开启了,比如8080
  • 请教后台守护进程退出时侦听端口继续存在的问题
  • 请教linux下读写 gpio端口控制寄存器的方法
  • 高分请教iptables下传奇私服怎么做nat端口映射
  • 请教IPtables拒绝远程用户从22号端口连接的 关于-m参数
  • 我在linux下写了个简单的多线程端口扫描程序,运行时出现问题,请教一下!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请教,如何判断记录集为空?
  • 请教一个比较菜的问题,如何判断一个文件已经读完?
  • 请教,在linux下如何判断程序的内存泄露?
  • 大侠们,我是新手,请教怎么判断串口是否有连接
  • 请教:在Linux中如何判断tar的返回值?
  • 请教:在程序中创建文件夹,应该用什么函数?怎么判断文件夹存不存在呢?
  • 请教几个关于判断SD卡状态的问题
  • 请教shell编程中如何判断一个文件已经被打开?
  • 请教Swing高手,如何在JTree中如何通过一个TreePath判断它代表的节点是不是叶节点?
  • 请教:如何判断一个DNS服务器使用了chroot呢?
  • 菜鸟请教,应用程序如何判断驱动程序已经挂载成功
  • [请教]如何join命令将两个文件连接(当进行连接判断的字段是数值类型)
  • 请教怎么根据进程输出的日记文件内容判断来重起进程?
  • 请教,linux内核协议栈中,从内核往驱动发送的报文(注意是下行,不是上行),如何从sk_buff判断是组播数据报文还是组播协议报文????
  • 请问如何判断一个字符串是否数字,还有如何把int转换成string!!!高分请教!!!
  • 请教:使用system(命令)或者exec(命令)启动一个进程执行命令,如何判断这个命令是否启动成功或正在运行?
  • 新手请教一个问题:在linux下如何判断是否已经安装某个软件?谢谢
  • 请问在javabean,java和jsp代码中如何判断一个字符串是否数字,还有如何把string转换成int!!!高分请教!!!
  • 请教脚本中如何判断文件是否通过ftp传输成功问题
  • 紧急请教用什么函数判断输入的不是int类型?
  • 请教,请教,这个问题是为什么????
  • 请教本地硬盘安装问题请教本地硬盘安装问题
  • java开源软件 iis7站长之家
  • 请教一个 shell 问题,我用下面这个 shell 语句总是失败,请教
  • 高分请教,各位大侠,请教一个问题,理论高手请进??谢谢
  • 请教Linux下pgadmin3-1.0.2的编译和安装!!高分请教!
  • 各位大虾,请教装了REDHAT9操作系统后,启动时无法引导到LINUX,请教该如何解决啊
  • 请教,请教,,,一定要看!!一定要看!!
  • 请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • :请教高手,小弟打印width=1500,height=600(A3纸)的Applet,在预览中是该区域是黑的,打印出来也是黑的,请教高手解决一下
  • 请教象我这样的硬盘应如何安装Linux,我昨天试装了,但有问题。(老问题了,也看了前面的帖子,但还是来请教,请多指教)


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3