# W12 (2023/11/28) ## 課本 ### 系統服務類型 1. 持續開在機器裡, 隨時能使用 之前使用的 ssh、httpd...都屬於這類 2. 有人使用時, 代理(agent) 通知伺服器, 此時才起動  ## 簡單的server **echo server** [Linux 建立自訂 Systemd 服務教學與範例](https://blog.gtwang.org/linux/linux-create-systemd-service-unit-for-python-echo-server-tutorial-examples/) ### 測試 建立一個 python 檔案並執行 ```python= import socket # 建立 socket serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 綁定所有網路介面的 9000 連接埠 serv.bind(('0.0.0.0', 9000)) # 開始接受 client 連線 serv.listen() while True: # 接受 client 連線 conn, addr = serv.accept() print('Client from', addr) while True: # 接收資料 data = conn.recv(1024) # 若無資料則離開 if not data: break # 傳送資料 conn.send(data) conn.close() print('Client disconnected') ```  ### 變成 server * 把剛剛的 python 檔建立在 /opt 底下 ```bash $ ls /opt echo_server.py ``` * 建立這個 server 的設定檔 `/etc/systemd/system/echo_server.service` ```bash= [Unit] Description=Echo Server [Service] Type=simple ExecStart=/opt/echo_server.py # 如果放的檔案位置不同要改 Restart=always [Install] WantedBy=multi-user.target ``` * 改權限 `sudo chmod 644 /etc/systemd/system/echo_server.service` * 重啟 ```bash= sudo systemctl daemon-reload sudo systemctl start echo_server sudo systemctl status echo_server ``` * 連線  ## telnet * 安裝 ```bash= sudo yum install -y telnet-server sudo yum install -y telnet sudo yum install -y xinetd ``` * 啟動 ```bash= sudo systemctl enable xinetd.service sudo systemctl enable telnet.socket sudo systemctl start telnet.socket sudo systemctl start xinetd ``` * putty 連線   ---
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up