[Ubuntu Linux view status of my network interfaces card])(https://www.cyberciti.biz/tips/ubuntu-linux-view-the-status-of-my-network-interfacescard.html)
get interface by command
$ interface=$(netstat -nr | grep -E 'UG|UGScg' | grep -E '^0.0.0|default' | grep -E '[0-9.]{7,15}' | awk -F' ' '{print $NF}')
# or
$ intreface=$(netstat -nr | command grep -E '^0.0.0|default|UG|UGScg' | awk '$2 ~ /([0-9]{1,3}\.){3}[0-9]{1,3}/' | awk '{print $NF}')
# or get the route to github
$ interface=$(ip route get $(nslookup github.com | grep Server | awk -F' ' '{print $NF}') | sed -rn 's|.*dev\s+(\S+)\s+src.*$|\1|p')
# or
$ ip route get 1.1.1.1 | grep --color=never 'via' | sed -re 's/.+via.+dev ([0-9a-zA-Z]+) src.+$/\1/'
# or
$ ip route get 1.1.1.1 | sed -n -re 's/.+via.+dev ([0-9a-zA-Z]+) src.+$/\1/p'
# or via nmcli
$ interface=$(nmcli device | grep --color=never -w connected | awk '{print $1}')
list all interfaces
$ ip l show
show active via nmcli
$ nmcli connection show --active
NAME UUID TYPE DEVICE
Wired connection 5 f866f67c-16db-3808-8e45-29352a730089 ethernet enx7ae71f506ee6
Wired connection 4 dc0adc36-baa3-361b-ab2d-15dd111a0e82 ethernet enp74s0
get status
# with color
$ ip -c route get 1.1.1.1
# without color
$ ip route get 1.1.1.1
1.1.1.1 via 10.111.22.1 dev enp74s0 src 10.111.22.97 uid 1001
#-----# #---------# #-----# #----------#
#target gateway interface ip address
cache
$ githubIP=$(dig +short github.com | head -1)
$ interface=$(ip route get ${githubIP} | sed -rn 's|.*dev\s+(\S+)\s+src.*$|\1|p')
$ ipaddr=$(ip a s ${interface} | sed -rn 's|\W*inet[^6]([0-9\.]{7,15}).*$|\1|p')
get active Mac address
$ githubIP=$(dig +short github.com | head -1)
$ interface=$(ip route get ${githubIP} | sed -rn 's|.*dev\s+(\S+)\s+src.*$|\1|p')
$ macaddr=$(ip link show ${interface} | sed -rn 's|.*ether ([0-9a-fA-F:]{17}).*$|\1|p' | sed 's|:||g' | tr [a-z] [A-Z])
dig
$ dig +noall +answer <domain.name>
get network speed
$ ifstat -n -i en7
en7
KB/s in KB/s out
7.35 1.15
4.91 1.02
6.05 0.80
8.36 1.78
$ sudo ifconfig <ORIGINAL_INTERFACE_NAME> down
$ sudo ip link set <ORIGINAL_INTERFACE_NAME> name <NEW_INTERFACE_NAME>
$ sudo ifconfig <NEW_INTERFACE_NAME>
e.g.:
$ nmcli dev
DEVICE TYPE STATE CONNECTION
wlp2s0 wifi connected WLAN-PUB
cni0 bridge connected cni0
enp0s31f6 ethernet connected Wired connection 1
docker0 bridge connected docker0
flannel.1 vxlan disconnected --
veth1890b284 ethernet unmanaged --
veth5145289b ethernet unmanaged --
vetha9ee773c ethernet unmanaged --
vethf5a48bb2 ethernet unmanaged --
lo loopback unmanaged --
$ nmcli connection
NAME UUID TYPE DEVICE
WLAN-PUB 2cde1f25-8c28-4318-9781-b9fcdabd985d wifi wlp2s0
Wired connection 1 f72d569d-065b-3bc8-98ae-e07f8bf46945 ethernet enp0s31f6
cni0 dcfc10c6-5421-4405-9d56-b3bb595780f5 bridge cni0
docker0 29822e8f-772f-4e67-8052-55b9e6c9e298 bridge docker0
$ sudo ifconfig enp0s31f6 down; sudo ip link set enp0s31f6 name eth0; sudo ifconfig eth0 up
$ nmcli dev
DEVICE TYPE STATE CONNECTION
wlp2s0 wifi connected WLAN-PUB
cni0 bridge connected cni0
docker0 bridge connected docker0
eth0 ethernet connected Wired connection 1
flannel.1 vxlan disconnected --
veth1890b284 ethernet unmanaged --
veth5145289b ethernet unmanaged --
vetha9ee773c ethernet unmanaged --
vethf5a48bb2 ethernet unmanaged --
lo loopback unmanaged --
$ nmcli connection
NAME UUID TYPE DEVICE
WLAN-PUB 2cde1f25-8c28-4318-9781-b9fcdabd985d wifi wlp2s0
Wired connection 1 f72d569d-065b-3bc8-98ae-e07f8bf46945 ethernet eth0
cni0 e557e9bc-754e-4dc9-b9db-4519a7b15c33 bridge cni0
docker0 47c195b8-4867-40d3-acec-c28223e2b013 bridge docker0
$ sudo nmap -O -v 192.168.1.0/23
Starting Nmap 7.91 ( https://nmap.org ) at 2021-02-03 15:51 CST
Initiating ARP Ping Scan at 15:51
Scanning 511 hosts [1 port/host]
Completed ARP Ping Scan at 15:51, 2.02s elapsed (511 total hosts)
Initiating Parallel DNS resolution of 118 hosts. at 15:51
Completed Parallel DNS resolution of 118 hosts. at 15:51, 0.18s elapsed
Nmap scan report for 192.168.1.0 [host down]
Nmap scan report for 192.168.1.2 [host down]
...
Nmap scan report for 192.168.1.1
Host is up (0.0016s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
23/tcp open telnet
MAC Address: C0:**:**:**:**:C8 (Cisco Systems)
OS details: Cisco 2950, 2960, 3550, 3560, 3750, or 4500 switch or 6500 router (IOS 12.1 - 15.0); or Adaptive Security Appliance firewall
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=264 (Good luck!)
IP ID Sequence Generation: Randomized
...
$ sudo nmap -sS 1.2.3.4
Starting Nmap 7.94 ( https://nmap.org ) at 2023-08-14 22:52 PDT
Nmap scan report for host.example.com (1.2.3.4)
Host is up (0.00077s latency).
Not shown: 991 filtered tcp ports (no-response), 6 filtered tcp ports (admin-prohibited)
PORT STATE SERVICE
22/tcp open ssh
3389/tcp open ms-wbt-server
9090/tcp open zeus-admin
Nmap done: 1 IP address (1 host up) scanned in 4.98 seconds
# or
$ sudo nmap -Pn -sS --reason 1.2.3.4
Starting Nmap 7.94 ( https://nmap.org ) at 2023-08-14 23:02 PDT
Nmap scan report for host.example.com (1.2.3.4)
Host is up, received user-set (0.018s latency).
Not shown: 997 closed tcp ports (reset)
PORT STATE SERVICE REASON
22/tcp open ssh syn-ack ttl 61
111/tcp open rpcbind syn-ack ttl 61
2049/tcp open nfs syn-ack ttl 61
$ nslookup sample.gitlab.com
Server: 130.147.236.5
Address: 130.147.236.5#53
Non-authoritative answer:
Name: sample.gitlab.com
Address: 130.147.219.15
$ ip route get 130.147.219.15
130.147.219.15 dev eno1 src 130.147.182.240 uid 1000
cache
$ nslookup github.com
Server: 130.147.236.5
Address: 130.147.236.5#53
Non-authoritative answer:
Name: github.com
Address: 192.30.253.112
Name: github.com
Address: 192.30.253.113
$ ip route get 192.30.253.113
192.30.253.113 via 192.168.10.1 dev wlan0 src 192.168.11.166 uid 1000
cache
or
$ ip route show
default via 192.168.10.1 dev wlan0 proto dhcp metric 600
10.244.0.0/24 dev cni0 proto kernel scope link src 10.244.0.1
130.140.0.0/16 dev eth0 scope link
130.145.0.0/16 dev eth0 scope link
130.146.0.0/16 dev eth0 scope link
130.147.0.0/16 dev eth0 scope link
130.147.182.0/23 dev eth0 proto kernel scope link src 130.147.182.57 metric 100
137.55.0.0/16 dev eth0 scope link
161.83.0.0/16 dev eth0 scope link
161.84.0.0/16 dev eth0 scope link
161.85.0.0/16 dev eth0 scope link
161.88.0.0/16 dev eth0 scope link
161.91.0.0/16 dev eth0 scope link
161.92.0.0/16 dev eth0 scope link
169.254.0.0/16 dev eth0 scope link metric 1000
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
185.166.0.0/16 dev eth0 scope link
192.168.10.0/23 dev wlan0 proto kernel scope link src 192.168.10.235 metric 600
or
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.1 0.0.0.0 UG 600 0 0 wlan0
10.244.0.0 0.0.0.0 255.255.255.0 U 0 0 0 cni0
130.140.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
130.145.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
130.146.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
130.147.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
130.147.182.0 0.0.0.0 255.255.254.0 U 100 0 0 eth0
137.55.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
161.83.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
161.84.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
161.85.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
161.88.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
161.91.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
161.92.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
185.166.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.254.0 U 600 0 0 wlan0
!X means "communication administratively prohibited"`
!Z means "communication with destination host administratively prohibited"
Since Linux uses UDP for trace-routes, this can originate from a `--reject-with icmp-host-prohibited`
To fix this you need to reply with `--reject-with icmp-port-unreachable` on UDP ports 33434 through 33534
## before firewall open the port 2376
$ sudo traceroute -T -p 2376 1.2.3.4
traceroute to 1.2.3.4 (1.2.3.4), 30 hops max, 60 byte packets
1 _gateway (127.0.0.1) 0.624 ms 0.603 ms 0.594 ms
6 host.example.com (1.2.3.4) 14.750 ms !X 14.682 ms !X 23.138 ms !X
## after firewall open the port 2376
$ sudo traceroute -T -p 2376 1.2.3.4
traceroute to 1.2.3.4 (1.2.3.4), 30 hops max, 60 byte packets
1 _gateway (127.0.0.1) 0.346 ms 0.316 ms 0.310 ms
6 host.example.com (1.2.3.4) 23.093 ms 14.725 ms 14.625 ms
$ nc -zv 1.2.3.4 2376
nc: connect to 1.2.3.4 port 2376 (tcp) failed: No route to host
$ traceroute 1.2.3.4
traceroute to 1.2.3.4 (1.2.3.4), 30 hops max, 60 byte packets
1 _gateway (127.0.0.1) 0.569 ms 0.539 ms 2.512 ms
2 host.example.com (1.2.3.4) 23.582 ms !X 23.486 ms !X 15.065 ms !X
# ^ ^ ^
# communication administratively prohibited
$ nc -zv 1.2.3.4 2376
Connection to 1.2.3.4 2376 port [tcp/docker-s] succeeded!
$ docker -H tcp://1.2.3.4:2376 images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 71cb16d32be4 10 months ago 63.1MB