Linux 最強大的功能是什么?網絡功能。
修改 dns 服務器(解析域名到 ip 地址):
$ sudo vim /etc/resolvconf/resolv.conf.d/base # 添加如下內容 nameserver 8.8.8.8 nameserver 8.8.4.4
0. 遠程關閉一台 Windows 機器
$ net rpc shutdown -I IP_ADDR -U username%password
Windows 平台上的 net 命令是比較強大的,因為其后台是一個RPC類的系統服務,大家應該看過win下用net use \ip\ipc$ *這樣一個命令建立IPC空連接,入侵主機的事情。
Linux 下的 net 命令 是 samba 組件的程序,通常包含在 smbclient內,可以跟 windows 主機的文件、打印機共享等服務進行通訊,同時也支持 rpc 命令。
上述命令就是在遠程 Windows 主機上執行了shutdown命令。當然這不一定成功,關系到win主機上面的安全設置。net命令能夠控制到win主機就是了。
1. 常見命令
netstat(net state),用於顯示各種網絡相關的信息,網絡連接,路由表(routing tables,-r 參數),接口狀態 (Interface Statistics),masquerade 連接,多播成員 (Multicast Memberships) 。
- 執行 netstat 后的輸出結果如下,結果分為兩部分,
- Active Internet connections,稱為有源 TCP 連接,Recv-Q 和 Send-Q 指的分別是接收隊列和發送隊列,這些數字一般應該是 0. 如果不是則表示軟件包正在隊列中堆積;
- Active UNIX domain sockets,有源 Unix 域套接口(和網絡套接字一樣,但只能用於本機通信)
Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.121.128:ssh 192.168.121.1:54491 ESTABLISHED tcp 0 592 192.168.121.128:ssh 192.168.121.1:61432 ESTABLISHED Active UNIX domain sockets (w/o servers) Proto RefCnt Flags Type State I-Node Path unix 22 [ ] DGRAM 10933 /run/systemd/journal/dev-log unix 7 [ ] DGRAM 10936 /run/systemd/journal/socket
- 常用參數:
- netstat -a(a,all):列出所有端口(包括監聽和未監聽的)
- netstat -at(t,tcp):列出所有 tcp 端口;
- netstat -au(u,udp):列出所有 udp 端口;
- netstat -l(l,listen):只顯示監聽狀態端口
- netstat -lt(t,tcp):只列出所有監聽 tcp 端口;
- netstat -lu(u,udp):只列出所有監聽 udp 端口;
- -n:拒絕顯示別名,能顯示數字的全部轉化為數字;
- -p:顯示建立相關鏈接的程序名
- netstat -a(a,all):列出所有端口(包括監聽和未監聽的)
- 執行 netstat 后的輸出結果如下,結果分為兩部分,
2. 應用
檢查系統中是否已經安裝了 mysql
$ sudo netstat -tap | grep mysql # 輸出為空,則表示沒有安裝;
- -t:tcp,-a:all,-p:相關鏈接的程序名;
3. 關閉防火牆
$ sudo ufw status # 信息的查看
$ sudo service ufw stop