我在計算機網絡課程上使用 FreeBSD,不過這些 UNIX 命令應該也能在 Linux 上同樣工作。
[原文][1]
### 連通性
* ping <host>:發送 ICMP echo 消息(一個包)到主機。這可能會不停地發送直到你按下 Control-C。Ping 的通意味著一個包從你的機器通過 ICMP 發送出去,并在 IP 層回顯。Ping 告訴你另一個主機是否在運行。
* telnet <host> [port]:與主機在指定的端口通信。默認的 telnet 端口是 23。按 Control-] 以退出 telnet。其它一些常用的端口是:
7 —— echo 端口
25 —— SMTP,用于發送郵件
79 —— Finger (LCTT 譯注:維基百科 - Finger protocal[1],不過舉例 Finger 恐怕不合時宜,倒不如試試 80?),提供該網絡下其它用戶的信息。
### ARP
ARP 用于將 IP 地址轉換為以太網地址。root 用戶可以添加和刪除 ARP 記錄。當 ARP 記錄被污染或者錯誤時,刪除它們會有用。root 顯式添加的 ARP 記錄是永久的 —— 代理設置的也是。ARP 表保存在內核中,動態地被操作。ARP 記錄會被緩存,通常在 20 分鐘后失效并被刪除。
arp -a:打印 ARP 表。
arp -s <ip_address> <mac_address> [pub]:添加一條記錄到表中。
arp -a -d:刪除 ARP 表中的所有記錄。
### 路由
netstat -r:打印路由表。路由表保存在內核中,用于 IP 層把包路由到非本地網絡。
route add:route 命令用于向路由表添加靜態(手動指定而非動態)路由路徑。所有從該 PC 到那個 IP/子網的流量都會經由指定的網關 IP。它也可以用來設置一個默認路由。例如,在 IP/子網處使用 0.0.0.0,就可以發送所有包到特定的網關。
~~~
route add default gw 192.168.101.3
route add default gateway 192.168.101.3
~~~
~~~
routed:控制動態路由的 BSD 守護程序。開機時啟動。它運行 RIP 路由協議。只有 root 用戶可用。沒有 root 權限你不能運行它。
gated:gated 是另一個使用 RIP 協議的路由守護進程。它同時支持 OSPF、EGP 和 RIP 協議。只有 root 用戶可用。
traceroute:用于跟蹤 IP 包的路由。它每次發送包時都把跳數加 1,從而使得從源地址到目的地之間的所有網關都會返回消息。
netstat -rnf inet:顯示 IPv4 的路由表。
sysctl net.inet.ip.forwarding=1:啟用包轉發(把主機變為路由器)。
route add|delete [-net|-host] <destination> <gateway>:(如 route add 192.168.20.0/24 192.168.30.4)添加一條路由。
route flush:刪除所有路由。
route add -net 0.0.0.0 192.168.10.2:添加一條默認路由。
routed -Pripv2 -Pno_rdisc -d [-s|-q]:運行 routed 守護進程,使用 RIPv2 協議,不啟用 ICMP 自動發現,在前臺運行,供給模式或安靜模式。
route add 224.0.0.0/4 127.0.0.1:為本地地址定義多播路由。(LCTT 譯注:原文存疑)
rtquery -n <host>(LCTT 譯注:增加了 host 參數):查詢指定主機上的 RIP 守護進程(手動更新路由表)。
~~~
### 其它
~~~
nslookup:向 DNS 服務器查詢,將 IP 轉為名稱,或反之。例如,nslookup facebook.com 會給出 facebook.com 的 IP。
ftp <host> [port](LCTT 譯注:原文中 water 應是筆誤):傳輸文件到指定主機。通常可以使用 登錄名 "anonymous" , 密碼 "guest" 來登錄。
rlogin -l <host>(LCTT 譯注:添加了 host 參數):使用類似 telnet 的虛擬終端登錄到主機。
~~~
### 重要文件
~~~
/etc/hosts:域名到 IP 地址的映射。
/etc/networks:網絡名稱到 IP 地址的映射。
/etc/protocols:協議名稱到協議編號的映射。
/etc/services:TCP/UDP 服務名稱到端口號的映射。
~~~
### 工具和網絡性能分析
~~~
ifconfig <interface> <address> [up]:啟動接口。
ifconfig <interface> [down|delete]:停止接口。
ethereal &:在后臺打開 ethereal 而非前臺。
tcpdump -i -vvv:抓取和分析包的工具。
netstat -w [seconds] -I [interface]:顯示網絡設置和統計信息。
udpmt -p [port] -s [bytes] target_host:發送 UDP 流量。
udptarget -p [port]:接收 UDP 流量。
tcpmt -p [port] -s [bytes] target_host:發送 TCP 流量。
tcptarget -p [port]:接收 TCP 流量。
~~~
### 交換機
~~~
ifconfig sl0 srcIP dstIP:配置一個串行接口(在此前先執行 slattach -l /dev/ttyd0,此后執行 sysctl net.inet.ip.forwarding=1)
telnet 192.168.0.254:從子網中的一臺主機訪問交換機。
sh ru 或 show running-configuration:查看當前配置。
configure terminal:進入配置模式。
exit:退出當前模式。(LCTT 譯注:原文存疑)
~~~
### VLAN
~~~
vlan n:創建一個 ID 為 n 的 VLAN。
no vlan N:刪除 ID 為 n 的 VLAN。
untagged Y:添加端口 Y 到 VLAN n。
ifconfig vlan0 create:創建 vlan0 接口。
ifconfig vlan0 vlan_ID vlandev em0:把 em0 加入到 vlan0 接口(LCTT 譯注:原文存疑),并設置標記為 ID。
ifconfig vlan0 [up]:啟用虛擬接口。
tagged Y:為當前 VLAN 的端口 Y 添加標記幀支持。
~~~
### UDP/TCP
~~~
socklab udp:使用 UDP 協議運行 socklab。
sock:創建一個 UDP 套接字,等效于輸入 sock udp 和 bind。
sendto <Socket ID> <hostname> <port #>:發送數據包。
recvfrom <Socket ID> <byte #>:從套接字接收數據。
socklab tcp:使用 TCP 協議運行 socklab。
passive:創建一個被動模式的套接字,等效于 socklab,sock tcp,bind,listen。
accept:接受進來的連接(可以在發起進來的連接之前或之后執行)。
connect <hostname> <port #>:等效于 socklab,sock tcp,bind,connect。
close:關閉連接。
read <byte #>:從套接字中讀取 n 字節。
write:(例如,write ciao、write #10)向套接字寫入 "ciao" 或 10 個字節。
~~~
### NAT/防火墻
~~~
rm /etc/resolv.conf:禁止地址解析,保證你的過濾和防火墻規則正確工作。
ipnat -f file_name:將過濾規則寫入文件。
ipnat -l:顯示活動的規則列表。
ipnat -C -F:重新初始化規則表。
map em0 192.168.1.0/24 -> 195.221.227.57/32 em0:將 IP 地址映射到接口。
map em0 192.168.1.0/24 -> 195.221.227.57/32 portmap tcp/udp 20000:50000:帶端口號的映射。
ipf -f file_name:將過濾規則寫入文件。
ipf -F -a:重置規則表。
ipfstat -I:當與 -s 選項合用時列出活動的狀態條目(LCTT 譯注:原文存疑)。
~~~
[1]:http://mp.weixin.qq.com/s?__biz=MjM5NjQ4MjYwMQ==&mid=2664608245&idx=2&sn=ca2aea5ab14894c4dec6dd3a6b6d0013&chksm=bdce8ab38ab903a527bc9a41cf1b2100f6c05d65b0b62efcea35be091eff764171cf824d822e&mpshare=1&scene=1&srcid=10101ekUyZIxiMV6sONpSI7F#rd
- 目錄
- 離散的內容
- IO模型
- 網卡綁定
- ssh
- 硬件測試
- 硬件
- limits
- 網絡流量
- 硬盤IO
- 硬盤
- tmux
- 主機名和域名
- http_proxy
- iptables
- 內核參數
- 塊設備和字符設備
- 內存
- 虛擬內存并非交換分區
- 網絡延時
- 概念
- 多核壓縮
- linux基礎
- SSH協議
- 軟件管理
- yum
- 制作本地源 yum系列
- 制作本地源 apt系列
- apt
- 在 Linux 中移除從源代碼安裝的程序的一種簡單的方法
- 其他
- 源碼編譯和二進制安裝后更改配置
- DNS
- bind
- 守護進程
- 特殊權限
- limit.conf配置
- 網絡
- shell-ok
- 變量ok
- 數組ok
- 系統變量和環境變量
- 運算符和計算-ok
- 條件測試-ok
- 選擇-ok
- shell循環-ok
- 輸出echo和printf-ok
- 技巧-ok
- pre-web
- http協議
- web服務器
- Apache
- apache安裝
- yum安裝
- 二進制安裝
- 編譯安裝
- httpd命令
- 運行 監控apache
- apache配置文件
- 常用配置
- MPM多處理模塊
- 編譯模塊
- apache模塊
- apache核心模塊
- apache標準模塊
- apache第三方模塊
- 虛擬主機
- 1
- CGI-FastCGI-SSI
- 別名和重定向
- apache應用
- 301重定向
- apache防盜鏈
- http轉化為https
- 訪問時間段控制
- 控制訪問目錄
- 限制指定USER_AGENT
- 不同客戶端訪問不同網頁
- apache黑名單
- httpd之禁止解析php
- 不記錄css/js/img的訪問日志
- 瀏覽器端靜態緩存
- apache訪問日志自動切割
- order-require
- 壓縮傳輸
- httpd-ssl
- apache代理
- 正向代理
- 反向代理
- apache調優
- httpd壓力測試工具ab
- CGI測試
- php
- php原理
- httpd和php的結合方式
- php yum安裝之DSO模式
- php 編譯安裝之DSO模式
- php-fpm詳解
- php yum安裝之php-fpm模式
- php 編譯安裝之FastCGI模式
- php擴展之mysql
- php擴展之gd
- php擴展之pcntl
- php擴展之xcache
- php擴展之ZendGuardLoader
- phpMyAdmin
- wordpress
- 數據庫-mysql
- 數據庫原理
- mysql數據庫原理
- mysql源碼編譯安裝
- mysql二進制包安裝
- mysql命令行工具
- 更改密碼
- 數據庫授權grant
- mysql日志
- 命令
- 常用
- 小命令大作為
- awk 報告生成器
- 網絡命令
- 命令查找
- 壓縮歸檔命令
- 文件管理
- 文件管理命令
- 文件查看命令
- 目錄管理命令
- 用戶管理命令
- 用戶權限管理
- curl
- cheat
- chrony
- command
- crontab任務計劃
- cut
- date
- dd
- df
- echo
- find
- grep
- hash
- iftop
- kill pkill killall
- ls
- lsmod和modprobe
- lsof
- man
- mkpasswd
- mount
- mtr
- netstat
- nmap
- nc
- NTP
- passwd
- rm
- rdate
- pv
- sar系統活動情況報告
- sed文本處理命令
- setup
- screen
- shutdown
- sort 命令
- sudo
- tcpdump
- top
- uniq
- wget
- who
- xargs
- 監控
- zabbix郵件報警
- Redis
- redis安裝
- redis數據類型和操作方法
- redis持久化和配置
- redis主從配置
- php連接redis
- redis實現session共享
- 安裝測試
- redis設置密碼
- ELK日志分析系統
- elasticsearch
- logstash
- logstash插件
- filebeat日志收集
- kibana
- jenkins
- jenkins安裝與配置
- 案例1
- 案例2
- 案例3
- 代碼倉庫之svn
- svn服務端配置
- 常用操作
- svn備份
- LB集群
- LVS負載均衡集群
- ipvsadm使用方法
- LVS調度方法
- NAT原理
- NAT實踐
- DR原理
- DR實踐
- TUN原理
- LVS持久連接
- HA集群
- HPC集群
- 共享存儲
- ftp協議
- vsftpd
- NFS
- 網站架構發展
- 文件同步
- rsync基本用法
- rsync安裝和使用_拉取模式
- lsyncd安裝和用法
- zabbix
- zabbix服務端安裝
- zabbix客戶端安裝
- zabbix編譯安裝
- zabbix監控tomcat
- zabbix監控mysql
- gitlab
- supervisor
- nsq
- ruby
- nodejs
- consul
- mesos
- zookeeper
- rwho
- 對象存儲
- 工具
- rclone
- minio
- linux 性能調優
- CPU
- 第一部分 CPU
- 安全