Linux-網路工具
Linux常用網路工具簡單整理一下。
ping
檢查網路連通性以及網速,域名解析。
ping www.baidu.com
- 預設一直髮送ICMP包(Internet Control Message Protocol,Internet控制報文協議)直到停止。
- -c 指定傳送資料包的個數
- -W 指定最長等待時間
- -I 指定傳送包的網路卡(多網路卡情況下)
注意:
- 執行時按下Ctrl + \ 顯示summary資訊,包括。傳送包數量,接受數量,丟包率
- ping只能使用ipv4, 如果需要使用ipv6, 可以使用ping6命令
netstat
檢視當前建立的所有網路連線。
檢視埠占用:
netstat -an | 3306
檢視本地路由表:
netstat -nr
lsof
lsof
命令用來檢視開啟的檔案(list open file),由於Linux中‘一切皆檔案’,那麼socket,pipe等也是檔案,因此能夠檢視網路連線和網路裝置,其中網路裝置相關的是-i
選項,它輸出符合條件的程式(4,6,協議,:埠,@ip等),格式為[46][protocol][@hostname|hostaddr]
。
檢視埠3306有沒有開啟,哪個程式開啟的:
lsof -i:3306
可以指定多個條件,預設是OR關係,要指定AND關係,需要傳入-a
引數,檢視22埠且使用ipv6連線:
lsof -c sshd -i 6 -a -i :22
列出所有與192.168.56.1的ipv4連線:
lsof -I 4@192.168.56.1
iftop
檢視網路流量的工具(display bandwidth usage on an interface by host):
iftop
nc
nc(netcat),功能強大的網路工具,可以作為網路應用的debug分析,建立不同型別的網路連線。功能很多,例如實現簡單的聊天工具,模擬ssh登入遠端主機,遠端傳輸檔案,埠掃描等。
掃描埠:
掃描某ip的1~100埠:
nc -zv 192.168.56.2 1-100 |& grep 'succeeded!'
聊天工具
A機器執行
nc -l 1234 # -l表示監聽(listen)
B機器執行
nc ipAddress 1234
兩臺機器輸入的資訊都會在對方機器顯示。實現了聊天功能。
檔案傳輸
B機器的data.txt傳輸到A機器。
A機器:
nc -l 1234 >./data.txt
B機器
nc ipAddress 1234 <./data.txt
遠端操作(類似ssh)
B需要遠端操作A。(未測試成功)
A機器:
rm -f /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
B機器:
nc ipAddress 1234
傳送http請求
echo 'GET / HTTP/1.1' | nc -v 220.181.57.216 80
tcpdump
tcpdump
(dump traffic on a network)是一個命令列抓包工具。能抓任何協議的包(不僅僅是tcp)。
抓取目標主機192.168.56.1
通過埠22
的包:
sudo tcpdump -n 'dst host 192.168.56.1 && port 22'
telnet
telnet協議客戶端(user interface to the TELNET protocol),不過並不限於telnet協議,埠也可以探測。
檢視本地埠22是否開放:
pengjunzhe$ telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6
ifconfig
網路卡配置工具(configure a network interface),可以用來檢視網路卡資訊(IP地址,傳送包數個數,接受包數,丟包數等)以及配置網路卡(開啟關閉網路卡,修改網路mtu,修改IP地址等)。
檢視網路卡ip地址:
ifconfig
為網路卡eth0新增一個新的地址(虛擬網路卡):
~$ sudo ifconfig eth0:0 10.103.240.2/24
~$ ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 08:00:27:c9:b4:f2
inet addr:10.103.240.2 Bcast:10.103.240.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
關閉/開啟網路卡:
sudo ifconfig eth0 down
sudo ifconfig eth0 up
nslookup & dig
nslookup用於互動式域名解析(query Internet name server interactively),也可以直接傳入域名作為Ad-Hoc命令使用。
檢視baidu.com的IP地址:
~ $ nslookup baidu.com
Server: 10.27.207.164
Address: 10.27.207.164#53
Non-authoritative answer:
Name: baidu.com
Address: 220.181.57.216
Name: baidu.com
Address: 123.125.115.110
檢視使用的DNS伺服器地址:
~ $ nslookup
> server
Default server: 10.27.207.164
Address: 10.27.207.164#53
Default server: 10.27.207.129
Address: 10.27.207.129#53
dig命令也是域名解析工具(DNS lookup utility),但是提供更資訊更全面:
~$ dig baidu.com
; <<>> DiG 9.10.6 <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19315
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;baidu.com. IN A
;; ANSWER SECTION:
baidu.com. 270 IN A 220.181.57.216
baidu.com. 270 IN A 123.125.115.110
;; Query time: 18 msec
;; SERVER: 10.27.207.164#53(10.27.207.164)
;; WHEN: Fri Jul 06 22:28:23 CST 2018
;; MSG SIZE rcvd: 70
whois
檢視域名所有者的資訊(client for the whois directory service),例如註冊郵箱,手機號碼,域名服務商等:
whois taobao.com
route
route用於檢視和修改路由表.
檢視路由表(mac不適用):
[root@host ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 104.224.152.1 0.0.0.0 UG 100 0 0 eth0
104.224.152.0 0.0.0.0 255.255.248.0 U 100 0 0 eth0
增加/刪除路由分別是add/del子命令。
刪除預設路由:
sudo route del default
增加預設路由,網管為192.168.1.1,網路卡為brqcb225471-1f:
sudo route add default gw 192.168.1.1 dev brqcb225471-1f
ip
強大的網路工具,可以調低ifconfig
,netstat
,route
,arp
等命令。
檢視網路卡eth0的IP地址:
~$ sudo ip addr ls dev eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:9a:d5:d1 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.2/24 brd 192.168.56.255 scope global eth1
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe9a:d5d1/64 scope link
valid_lft forever preferred_lft forever
檢視網路卡eth0配置:
~$ sudo ip link ls eth1
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:9a:d5:d1 brd ff:ff:ff:ff:ff:ff
檢視路由:
~$ ip route
default via 192.168.1.1 dev brqcb225471-1f
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.1.0/24 dev brqcb225471-1f proto kernel scope link src 192.168.1.105
192.168.56.0/24 dev eth1 proto kernel scope link src 192.168.56.2
檢視arp資訊:
~$ sudo ip neigh
192.168.56.1 dev eth1 lladdr 0a:00:27:00:00:00 REACHABLE
192.168.0.6 dev vxlan-80 lladdr fa:16:3e:e1:30:c8 PERMANENT
172.17.0.2 dev docker0 lladdr 02:42:ac:11:00:02 STALE
192.168.56.3 dev eth1 FAILED
192.168.1.1 dev brqcb225471-1f lladdr 30:fc:68:41:12:c6 STALE
檢視網路命令空間:
~$ sudo ip netns ls
qrouter-24bf83c7-f61d-496b-8115-09f0f3d64d21
qdhcp-9284d7a8-711a-4927-8a10-605b34372768
qdhcp-cb225471-1f85-4771-b24b-a4a7108d93a4
進入某個網路命令空間:
~$ sudo ip netns exec qrouter-24bf83c7-f61d-496b-8115-09f0f3d64d21 bash
~# ifconfig
qg-0d258e6d-83 Link encap:Ethernet HWaddr fa:16:3e:93:6f:a3
inet addr:172.16.1.101 Bcast:172.16.1.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe93:6fa3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1035 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:102505 (102.5 KB) TX bytes:1200 (1.2 KB)
brctl
檢視網橋,建立網橋,把網路卡加入網橋等。
traceroute
統計到目標主機的沒一條的網路狀態(print the route packets trace to network host)。常用來診斷網路故障。
本地連線到百度的過程:
~ pengjunzhe$ traceroute -I -n baidu.com
traceroute: Warning: baidu.com has multiple addresses; using 123.125.115.110
traceroute to baidu.com (123.125.115.110), 64 hops max, 72 byte packets
1 10.27.203.254 2.308 ms 1.861 ms 1.606 ms
2 10.27.193.141 1.111 ms * 2.259 ms
3 10.27.192.145 1.906 ms 2.300 ms 2.146 ms
4 218.1.108.145 4.071 ms 3.943 ms 3.363 ms
5 101.95.110.129 4.275 ms 3.927 ms 3.876 ms
6 61.152.20.73 4.934 ms 3.855 ms 5.196 ms
7 124.74.215.217 4.560 ms 4.476 ms 5.581 ms
8 * * 101.95.89.46 5.283 ms
9 61.152.24.6 7.456 ms 8.412 ms 6.852 ms
10 202.97.60.129 28.235 ms 29.109 ms 54.368 ms
11 * 202.97.88.250 29.685 ms *
12 * 219.158.44.117 36.199 ms 39.041 ms
13 219.158.4.157 28.637 ms 33.961 ms 29.776 ms
14 202.96.12.82 30.744 ms 32.519 ms 30.622 ms
15 61.148.152.18 31.620 ms 29.367 ms 28.745 ms
16 123.125.248.98 104.687 ms 28.791 ms *
17 * * *
18 123.125.115.110 28.371 ms 28.001 ms 28.720 ms
mtr
網路診斷工具(a network diagnostic tool),整合了ping和traceroute的功能並實時重新整理。
ss
ss命令是一個用於檢視網路連線的工具(another utility to investigate sockets),用來顯示處於活動狀態的套接字資訊。
curl
強大的URL傳輸工具,支援FILE, FTP, HTTP, HTTPS, IMAP, LDAP, POP3,RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, TELNET以及TFTP等協議。
能模擬所有的瀏覽器的行為請求,例如refer,cookie,agent。也可以模擬表單資料。
常用引數有:
- -i 顯示頭部資訊
- -I 只顯示頭部資訊,不顯示正文
- -X 指定請求方法,比如GET、POST等
- -d 傳送資料
- --form模擬表單,利用這個引數可以上傳檔案、模擬點選按鈕等
- -A 指定使用者代理,比如Mozilla/4.0
- -b 設定cookie
- -c 指定cookie檔案
- -e 指定referer,有些網址必須從某個頁面跳轉過去
- --header 設定請求的頭部資訊
- --user 有些頁面需要HTTP認證, 傳遞name:password認證
wget
非互動網路下載工具(The non-interactive network downloader)。
最簡單的方法就是加上檔案url:
wget http://xxx/xxx/video.mp4
遞迴
使用-r
可以遞迴下載的網頁。預設遞迴深度為4,相當於爬蟲,通過-l
指定遞迴深度。
端點續傳
預設不開啟端點續傳功能,傳入-c
引數後開啟。
批量下載
可以吧多個URL寫入檔案,然後用-i指定下載檔案列表:
wget -I download.txt
儲存檔名
如果h不指定檔名,預設以最後一個符合/後面的字元作為儲存檔名,手動-O
指定儲存檔名。
其他
--limit-rate
限制最大下載速度-b
後臺下載-A
指定下載的檔案格式
映象下載整個網站:
wget --mirror -p --convert-links -P baidu baidu.com
axel
多執行緒下載工具(a light download accelerator for Linux),通過多連線,大幅提高下載速度。預設支援斷線下載。
開啟20個執行緒下載檔案:
axel -n 20 URL
nethogs
根據程式檢視流量資訊。
iptables
強大的包過濾,處理工具。能夠實現防火牆,NAT等功能。
相關文章
- linux-網路命令Linux
- linux-掛載NFS網路檔案系統教程LinuxNFS
- Wireshark網路工具
- 網路故障排除工具 | 快速定位網路故障
- 網路測速工具
- Linux-(awk)Linux
- Socat多功能網路工具
- 網路抓包工具Wireshark
- 網路基礎-常用網路測試工具
- Linux-程式管理Linux
- py網路工具程式設計程式設計
- 網路安全審計工具Nmap
- 網路診斷工具的使用
- Linux-筆試題Linux筆試
- Linux-安裝ifconfigLinux
- linux-實用命令Linux
- linux-命令-書籍Linux
- linux-執行緒Linux執行緒
- linux-編譯koLinux編譯
- [網路爬蟲] Jsoup : HTML 解析工具爬蟲JSHTML
- 網路問題定位工具記錄
- mac網路檔案安全共享工具Mac
- 網路損傷工具大亂鬥
- Wireshark for Mac網路分析封包工具Mac
- 網路安全工具哪個好用?常用工具合集!
- 網路版“瑞士軍刀”!一個多功能的網路工具箱!
- 13個網路管理員必須瞭解的網路監控工具
- 十四、神經網路工具箱nn神經網路
- 網路實時監控工具:PeakHour for macMac
- 【趕快收藏】網路安全常用的工具!
- 【軟體篇:suy網路工具包】
- 測試網路效能的小工具
- 幾種Linux網路配置工具的使用Linux
- 網路相關工具簡單彙總
- 網路效能測試工具iperf的使用
- 【網路】效能指標與測試工具指標
- Linux-設定固定ipLinux
- Linux-別名設定Linux