首页 > 其他分享 >smb传输报错:Failed to connect to server jcifs.smb.SmbException: Failed to connect to server

smb传输报错:Failed to connect to server jcifs.smb.SmbException: Failed to connect to server

时间:2024-04-13 10:55:40浏览次数:23  
标签:jcifs server Failed SmbFile connect smb

[2024-04-12 11:33:51.868] [dfe7d0ec-0600-4e36-9ee0-b551c4c035e0] [ERROR] [http-nio-8088-exec-4] [c.w.c.f.g.s.u.JCifsUtil:getRemoteFile:119] Failed to connect to server jcifs.smb.SmbException: Failed to connect to server
        at jcifs.smb.SmbFile.connect0(SmbFile.java:882)
        at jcifs.smb.SmbFile.doNetServerEnum(SmbFile.java:1914)
        at jcifs.smb.SmbFile.doEnum(SmbFile.java:1734)
        at jcifs.smb.SmbFile.listFiles(SmbFile.java:1715)
        at jcifs.smb.SmbFile.listFiles(SmbFile.java:1648)
        at com.abc.nanjing.gateway.service.util.JCifsUtil.getRemoteFile(JCifsUtil.java:112)

首先看报错,第一时间猜测是网络问题,加上之前服务器上有iptables规则,所以第一时间加上了规则,但仍然不行

所以一直在猜测是网络问题,检查端口,ip,这些都检查了没问题。最后问了下百度

然后最直接的方法有两种,一种是直接在服务器上安装smb客户端,通过用户名和密码登录验证连接信息是不是正常

一种是通过tcpdump看看请求的连接信息是不是对的;第二种不太确定能不能抓到包

第一种:安装smb客户端

yum install –y samba samba-client samba-winbind-clients.x86_64 cifs-utils.x86_64

然后,使用smbclient尝试列出或连接到SMB服务器上的共享资源。以下是一个简单的命令行示例:

smbclient -L //SERVER_IP -U username%password

SERVER_IP替换为你要连接的服务器的IP地址,usernamepassword替换为有效的用户名和密码。

如果你成功地列出了服务器上的共享,那么SMB服务就被认为是工作的。你也可以尝试访问一个具体的共享:

smbclient //SERVER_IP/sharename -U username%password

sharename替换为你想要访问的共享名称。

如果你能成功地进入smbclient提示符,那么你就成功地通过SMB协议连接到了远程资源。

验证截图:

 通过用户名和密码是可以登录的

后来感觉smb可能是一个小众的协议,应该可能有漏洞,是不是支持密码有特殊字符呢,看下面截图,瞬间心里就有底了

 

不巧的是,我们的smb密码里面确实含有@字符;

总结:

1,首先分析问题的思路也是对的,至少从网络方面分析,iptables,端口,这些是常规的问题处理方式

2,需要加强对tcpdump方式的验证;后来验证了,tcpdump,感觉没有抓到对应的连接信息,估计是已经建立连接过了

欢迎关注我个人微信

 

标签:jcifs,server,Failed,SmbFile,connect,smb
From: https://www.cnblogs.com/alonewaiting/p/18132582

相关文章

  • Sql Server对等复制中将截断字符串或二进制数据。 (源: MSSQLServer,错误号: 8152)
    近期发现好好的复制突然出现了报错,导致备份库数据不一致的问题,如下 一直以为是发布数据库进行了DDL操作没有同步到这边来,导致数据同步时长度不够导致的,结果把表都检查了一遍也没发现啥不对劲最后只好去找相关资料,结果找到了官方资料(目前老项目用的14版本) 这边有几个......
  • [转帖]SQL Server简洁查询正在运行的进程
    SQLServer简洁查询正在运行的进程通常我们可以使用sp_who2我们希望更加简洁的信息,下面这个查询使用系统表sys.sysprocesses,以及sys.dm_exec_sql_text做OUTERAPPLY.T-SQL是这样的:SELECTspid,blocked,DB_NAME(sp.dbid)ASDBName,program_name,waitresource,last......
  • 模拟SQLserver死锁现象
    模拟SQLserver死锁现象 SQLServer死锁是指两个或多个事务相互等待对方持有的资源而无法继续执行的情况。当两个或多个事务都持有一些资源并且试图获取其他事务持有的资源时,可能会发生死锁。这种情况下,每个事务都在等待另一个事务释放其所需的资源,导致所有涉及的事务都无法继......
  • 【VMware vCenter】使用Reduced Downtime Update (RDU)升级更新vCenter Server。
    ReducedDowntimeUpgrade(RDU)减少停机时间更新是用于vCenterServer更新升级的一种新的方式,顾名思义,主要目的就是为了减少在vCenterServer更新升级过程中的维护时间,经过测试验证,最快能够在几分钟之内完成对vCenterServer的更新升级(取决于环境)。我之前在另外一篇文章中(更新V......
  • SQL SERVER 从入门到精通 第5版 第三篇 高级应用 第10章 存储过程 读书笔记
    第10章存储过程 >.存储过程概述存储过程(storedprocedure)是预编译SQL语句的集合,这些语句存储在一个名称下并作为一个单元来处理.存储过程取代了传统的逐条执行SQL语句的方式.一个存储过程中可以包含增删改查等一系列SQL语句,当这个存储过程被调用时,这些操作也......
  • 使用内置函数 (SQL Server) 验证、查询和更改 JSON 数据
    使用内置函数(SQLServer)验证、查询和更改JSON数据项目2023/09/0313个参与者反馈 本文内容此页上的示例JSON文本使用ISJSON函数验证JSON文本使用JSON_VALUE函数从JSON文本中提取值使用JSON_QUERY函数从JSON文本中提取对象或数组显示另外......
  • 使用 SQL SERVER PROFILER 监测死锁
    作为DBA,可能经常会遇到有同事或者客户反映经常发生死锁,影响了系统的使用。此时,你需要尽快侦测和处理这类问题。死锁是当两个或者以上的事务互相阻塞引起的。在这种情况下两个事务会无限期地等待对方释放资源以便操作。下面是死锁的示意图: 本文将使用SQLServerProfile......
  • 丐版sqlserver AlwaysOn集群
    丐版sqlserver集群之前试过docker的,k8s的,然后发现,还是最朴素的是最简单的,希望有大佬能够汉化,他妈的,那些英文看得人要发癫啊。前置准备,参照丐版pxc集群:https://www.cnblogs.com/zwnfdswww/p/18112077如果不关防火墙:打开对应的端口即可:sudofirewall-cmd--zone=public--a......
  • server2008安装.netcore api
    一、先写个简单点的.netcoreapi1publicclassProgram2{3publicstaticvoidMain(string[]args)4{5varbuilder=WebApplication.CreateBuilder(args);67//Addservicestothecontainer.89......
  • IOS开发——构建版本打包上传App Store Connect中找不到新上传的版本
    遇到这个问题,直接去看你开发者账号绑定邮箱里边收到的邮件,根据邮件上的提示一项项完善了配置就可以了。如下图,红框中的内容就是添加了拍照、相册权限后报出的,也就是添加了这两个权限之后,AppStoreConnect中找不到新上传的版本了。info.plist文件添加对应的权限说明内容就好了,......