> For the complete documentation index, see [llms.txt](https://riteshs4hu.gitbook.io/infosec-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://riteshs4hu.gitbook.io/infosec-notes/internal-and-external-network-sec/privilege-escalation/file-transfer-method/smb-server.md).

# SMB Server

### SMB Server (Python + Impacket)

#### Python SMB Server Script

```python
# smb_server.py

import argparse
from impacket.smbserver import SimpleSMBServer

def start_smb_server(share_dir, port):
    server = SimpleSMBServer(listenAddress="0.0.0.0", listenPort=port)
    server.addShare('SHARE', share_dir, 'Share Description')
    try:
        server.start()
        print(f"SMB server is running on port {port}. Press Ctrl+C to stop.")
        while True:
            pass
    except KeyboardInterrupt:
        server.stop()
        print("SMB server stopped.")

def main():
    parser = argparse.ArgumentParser(description='SMB Server')
    parser.add_argument('-s', '--share-dir', type=str, required=True, help='Path to the shared directory')
    parser.add_argument('-p', '--port', type=int, default=445, help='Port number (default is 445)')
    args = parser.parse_args()
    start_smb_server(args.share_dir, args.port)

if __name__ == "__main__":
    main()
```

#### ✅ Start Server

```bash
sudo python3 smb_server.py -s /path/to/share
```
