Síťové příkazy Windows v Linuxu: 5 ekvivalentů, které byste měli znát (plus triky pro WSL)
Pokud jste používali síťové příkazy ve Windows, jako například ping a tracert, možná vás zajímá, zda je můžete použít i na Linuxu, ať už samostatně nebo jako součást WSL. Naštěstí je to možné.
ping
Pamatuji si, jak jsem seděl na hodině počítačových sítí na vysoké škole, když instruktor ukazoval použití příkazu ping v příkazovém řádku Windows. Bylo to začátkem celoživotního vztahu, i když překročil operační systémy a nakonec se vrátil zpět s WSL.
Nejjednodušší způsob, jak používat příkaz ping v příkazovém řádku Linuxu a WSL, je použít ping následovaný IP adresou nebo názvem domény.
ping google.comping 127.0.0.1
Ten druhý bude posílat ping na „loopback zařízení“ nebo rozhraní vašeho lokálního počítače. Ping je užitečný pro zjištění, zda je hostitel dostupný, nebo alespoň reaguje na pingové požadavky. Některé hostitele mohou být stále dostupné, ale pingové požadavky odmítají z bezpečnostních důvodů. Ping je také užitečný pro zjištění, zda je webová stránka nedostupná pro všechny nebo jen pro vás.
Výchozí chování příkazu ping na Linuxu a dalších unixových systémech se liší od Windows. Na Windows příkaz ping proběhne čtyřikrát. Na Linuxu ping běží neomezeně, dokud nestisknete Ctrl + c, a poté vám ukáže statistiky o vrácených paketech.
Chcete-li, aby ping přestal po určitém počtu pingů, použijte možnost -c. Chcete-li odeslat ping na hostitele čtyřikrát:
ping -c 4 google.comtracert: traceroute nebo tracepath na Linuxu
Dalším užitečným nástrojem pro diagnostiku sítě ve Windows je nástroj tracert. Tento nástroj vám umožňuje sledovat cestu od vašeho počítače přes síťové uzly až k cílovému počítači. V praxi to nemusí být vždy zcela spolehlivé, protože některé uzly na cestě nemusí reagovat. Přesto je to užitečné pro zjištění, zda je web nedostupný pro všechny nebo jen pro vás.
Můžete jej hledat v Linuxu, ale můžete zjistit, že chybí. Jen má jiný název. Zkuste spustit příkaz „traceroute“:
traceroute example.comNebo můžete zkusit příkaz tracepath:
tracepath example.comMožná budete muset na svém systému nainstalovat další balíček, v závislosti na distribuci Linuxu, kterou používáte. Pokud tyto příkazy selžou, můžete zkusit vyhledat v správci balíčků balíček, který byste mohli potřebovat nainstalovat.
Alternativně byste mohli zvážit instalaci MTR, které kombinuje funkce příkazů ping a traceroute do jednoho nástroje. Pro jeho instalaci na Ubuntu:
sudo apt install mtrMTR můžete spustit pomocí názvu hostitele nebo IP adresy podobně jako příkazy ping a traceroute:
mtr linux-console.netVýchozí chování je otevřít okno GUI a neustále opakovat traceroute. MTR můžete zobrazit v terminálu pomocí volby -t:
mtr -t linux-console.net
To můžete udělat automaticky nastavením proměnné prostředí MTR_OPTIONS:
export MTR_OPTIONS="-t"Můžete to vložit do svých souborů .bashrc nebo .zshrc, aby se to nastavilo pokaždé, když spustíte nový terminál.
Teď, když spustíte MTR, poběží to v okně terminálu.
Jedním z hlavních rozdílů oproti běžným traceroutům je to, že MTR zobrazuje statistiky pro každý uzel, podobně jako byste viděli u pingu. Řekne vám nejkratší, nejdelší a průměrné časy pingu pro každý uzel, stejně jako standardní odchylku. To vám ukáže, jak jsou časy pingu rozloženy kolem průměru.
ipconfig - Jen ip na Linuxu
Možná jste na Windows používali příkaz ipconfig, abyste viděli informace o konfiguraci své sítě. Na Linuxu tomu dříve odpovídal příkaz ifconfig, ale nyní je to jen "ip".
Chcete-li zobrazit všechny síťové rozhraní ve vašem systému:
ip link
Chcete-li zobrazit IP adresu:
ip addressVe WSL2 uvidíte ve výchozím nastavení adresu virtuálního stroje WSL. Pokud chcete spravovat síťové připojení svého systému Windows na Windows počítači, je nejlepší to dělat přímo na straně Windows.
netstat - Použijte lsof nebo ss
Někdy chcete vidět všechna otevřená síťová připojení. Možná se obáváte, že někdo získal neoprávněný přístup k vašemu systému. Možná jen chcete zjistit, které aplikace "telefonují domů". Ve Windows to zvládne příkaz netstat. Existují také ekvivalenty na Linuxu.
lsof je běžný nástroj pro zkoumání otevřených souborů. Na Linuxu je vše soubor, a to zahrnuje i síťová připojení. Stačí spustit příkaz lsof v shellu:
lsofVe výchozím nastavení vám to zobrazí všechny soubory, které mají otevřené běžící Linux aplikace. Chcete-li vidět všechna internetová připojení, použijte možnost -i:
lsof -iNa Linuxu také příkaz ss zobrazí informace o otevřených soketech, podobně jako netstat:
ssJedna výhrada, pokud používáte WSL, je ta, že tyto nástroje zobrazí pouze spojení na straně Linuxu systému. Pokud chcete zkoumat procesy ve Windows, můžete použít utilitu netstat ve Windows z WSL pomocí technik zmíněných později v tomto článku.
nslookup: Použijte nslookup nebo dig v Linuxu místo toho
Chcete-li zjistit, kdo stojí za doménovým jménem, můžete na Windows použít nástroj nslookup. Stejně to můžete udělat i na Linuxu.
Na Linuxu existuje podobný příkaz nslookup:
nslookup linux-console.netMůžete také použít nástroj dig:
dig linux-console.netOba tyto způsoby zobrazí „name servery“ doménového jména spojeného s adresou, kterou jste zadali, v tomto případě linux-console.net.
V závislosti na vašem Linuxovém systému nemusí být tyto nástroje nainstalovány ve výchozím nastavení. Na distribuci Ubuntu, která je výchozí pro WSL, nebyly. Pokud tyto nástroje chcete, budete muset nainstalovat jiný balíček nazvaný „bind9-dnsutils“.
Naštěstí se to dá snadno provést pomocí apt:
sudo apt install bind9-dnsutils Bonusový tip: Používejte příkazy Linuxu i Windows ve WSL
Pokud používáte WSL, můžete kombinovat příkazy Linuxu a Windows.
Na straně Linuxu můžete k příkazu přidat ".exe", abyste použili verzi pro Windows. Například pro spuštění příkazu netstat ve Windows:
netstat.exe
Z pohledu Windows můžete také spouštět příkazy Linuxu pomocí příkazu wsl. Například k spuštění příkazu ping z Linuxu v PowerShellu pomocí výchozí distribuce Linuxu:
wsl ping google.comPokud jste spouštěli síťové příkazy z příkazového řádku Windows, můžete to snadno udělat i z Linuxu, a WSL to dokonce zjednodušuje tím, že umožňuje spouštět příkazy z obou systémů. Mnoho příkazů Windows pochází ze systémů podobných Unixu, takže jsou si často velmi podobné.













