zoukankan      html  css  js  c++  java
  • 关于SMB 445端口

    通过windows xp调试发现,这个端口是netbt启用关于SMB服务的时候开启的。

    \\Device\\NetbiosSmb

    这个设备对象就是NetBT驱动创建的(注意不是netbios驱动)

    端口的获取是通过注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Smb下的SessionPort键项获取的,如果没有的话,默认就是445。所以想改端口号的话,可以改这个,但是这样的话,远程客户端可能就访问不了。另外,除了SessionPort还有 DatagramPort,

    下面是获取到端口后,绑定地址过程的堆栈

    ChildEBP RetAddr
    f8ac0fc0 b2d969ad tcpip!TdiOpenAddress
    f8ac1014 b2d69aaa tcpip!TCPCreate+0x20a
    f8ac1050 804eedf9 tcpip!TCPDispatch+0x10b
    f8ac1060 805783bc nt!IopfCallDriver+0x31
    f8ac1140 805b465e nt!IopParseDevice+0xa58
    f8ac11c8 805b0b3f nt!ObpLookupObjectName+0x56a
    f8ac121c 8056b133 nt!ObOpenObjectByName+0xeb
    f8ac1298 8056baaa nt!IopCreateFile+0x407
    f8ac12f4 8056e17c nt!IoCreateFile+0x8e
    f8ac1334 8053d808 nt!NtCreateFile+0x30
    f8ac1334 804fe569 nt!KiFastCallEntry+0xf8
    f8ac13d8 b2d41bbc nt!ZwCreateFile+0x11
    f8ac1484 b2d44785 netbt!NbtTdiOpenAddress+0x227
    f8ac14b4 b2d45547 netbt!NbtCreateAddressObjects+0xc3
    f8ac14f0 b2d49173 netbt!NbtCreateSmbDevice+0xc8
    f8ac1570 80576550 netbt!DriverEntry+0x215
    f8ac1640 80689770 nt!IopLoadDriver+0x66c
    f8ac169c 80686ad9 nt!IopInitializeSystemDrivers+0x16c
    f8ac183c 80684edd nt!IoInitSystem+0x7a3
    f8ac1dac 805c5a28 nt!Phase1Initialization+0x9b5
    f8ac1ddc 80541fa2 nt!PspSystemThreadStartup+0x34
    00000000 00000000 nt!KiThreadStartup+0x16
    kd> ?dwo(dwo(esp+8)+8)
    Evaluate expression: 48385 = 0000bd01
    kd> ?0n445
    Evaluate expression: 445 = 000001bd

    这是由驱动在内核线程中直接创建的,所以445端口对应的进程我们经常可以看到的是System,关于如何通过445端口进行rpc over NampPipe/smb,smb over netbios/tcpip,

    另开文章再作分析

  • 相关阅读:
    C#与服务器建立会话,获取SessionId(临时cookie值)
    c# 登录带验证码网站
    ASP读取CSV文件 并添加到数据库
    淘宝开放平台正式环境获取数据(二)
    DragDrop 注册失败的解决方法 转
    c# 获取网站验证码图片
    淘宝开放平台.NET版SDK 测试类
    淘宝开放平台正式环境获取数据(一)
    sqlhelper源码
    博客园看到的socket基本原理
  • 原文地址:https://www.cnblogs.com/kkindof/p/2541836.html
Copyright © 2011-2022 走看看