---
# System prepended metadata

title: Network Commands
tags: [IBM, Network, Linux Tools]

---

Network Commands
===

###### tags: `Linux Tools` `IBM` `Network`

:::info
MTU (Maximum Transmission Unit，最大傳輸單位 bytes) - 標準乙太網路訊框所能傳送的資料量，每種網路介面的 MTU 都不相同。如果 IP 封包最大傳輸量超過MTU，就必須將封包拆解，並於目的地組裝回來。
:::

## 列出所有網卡
```
# List all network interfaces
# ip link show # 顯示第二層資訊
# ip addr show # 顯示第三層資訊

# List all physical network interfaces
# lshw -class network -short

# 啟動網卡
# ifconfig enp0s3:0 up
```

## 網卡已啟動，設定網卡
```
# Add a virtual network interface with static ip
ifconfig enp0s3:0 10.1.1.2 netmask 255.255.255.0 mtu 9000
ip address add 192.168.50.50/24 dev eth0 broadcast 192.168.50.255 label eth0:0

nmcli con mod ens3 ipv4.addresses 192.168.122.20/24
nmcli con mod ens3 ipv4.gateway 192.168.122.1
nmcli con mod ens3 ipv4.method manual
nmcli con mod ens3 ipv4.ignore-auto-dns yes
nmcli con mod ens3 ipv4.dns "192.168.2.254"
cat /etc/sysconfig/network-scripts/ifcfg-ens3
nmcli con up ens3
cat /etc/resolv.conf

# 向dhcp，索求ip
dhclient <ethX>
```

## /etc/sysconfig/network-script/ifcfg-*為設定依據，reload 網卡
```
# reload all connections
nmcli connection reload
# reload only ens3 by config file
nmcli con load /etc/sysconfig/network-scripts/ifcfg-ens3
# reload by connection name
nmcli con up ens3
```

## netstat
```
# netstat -tuanp
# cat /etc/services
ftp             21/tcp
ftp             21/udp          fsp fspd
ssh             22/tcp                          # The Secure Shell (SSH) Protocol
ssh             22/udp                          # The Secure Shell (SSH) Protocol
```
:::info
* server端: 小於 1024 以下的埠口要啟動時，啟動者的身份必須要是root。
* client端: 隨機取一個大於 1024 以上且沒有在用的 port number。
:::

## wget
- [Linux 使用 wget 指令自動下載網頁檔案教學與範例](https://blog.gtwang.org/linux/linux-wget-command-download-web-pages-and-files-tutorial-examples/)

## tcpdump
```
tcpdump -nn -i enp0s8 'port 22 and src host 192.168.56.101'
```

## traceroute
```
traceroute -n -I google.com
```