Portál AbcLinuxu, 12. května 2025 10:36

Dotaz: Simulace připojení LAN

31.5.2013 11:38 joseff | skóre: 4
Simulace připojení LAN
Přečteno: 361×
Odpovědět | Admin
Dobrý den,

potřebuji nějaký jednoduchý příkaz, nebo někde něco zapsat/přepsat, aby si PC myslel, že je síťově k něčemu připojen ikdyž není. Síťovou kartu má.

Program před zapnutím provádí kontrolu, zda je PC síťově připojen a vůbec ho nezajímá, k čemu. Bez připojení se ukončí, ikdyž síť vůbec nepotřebuje.

HW řešení by bylo strčit do síťovky štekr, který má drátky propojené, ale lepší by to bylo řešit SW cestou.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 31.5.2013 12:33 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Simulace připojení LAN
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak definuješ „připojení“? Rozhraní existuje? Rozhraní má IP adresu? (proč zrovna IP?) Rozhraní je up? Rozhraní má link? (nejde na všech fyzických vrstvách)

Nebylo by snazší zkompilovat program, aby to nekontroloval? Nebo si na to dopsat LD_PRELOAD wrapper?

Každý občas máme co do činění s dementním software (VLC, vsftpd). Někdy to jde vypnout přepínačem při kompilaci, vždycky pak úpravou zdrojáku.
31.5.2013 12:59 joseff | skóre: 4
Rozbalit Rozbalit vše Re: Simulace připojení LAN
Program je hotový a jakékoliv úpravy na něm možné nejsou, protože k tomu nemám zdrojový kód.

PC propojím síťovým kabelem třeba do zapnutého síťového rozbočovače, který k ničemu jinému připojen není a program funguje. Nebo PC síťově připojím k jinému PC, které je vypnuté, ale ve stand-by režimu a program funguje.

Síťový kabel odpojím od PC a program nefunguje.

Přitom program síť ani internet vůbec nevyužívá (nemusí).

Prostě to potřebuji jenom nějak oblbnout, aby si myslel, že je PC siťově připojen.

Když použiji jednoduchý příkaz:
cat /sys/class/net/eth0/carrier
Tak mi to zobrazí stav připojení a já potřebuji aby to v nepřipojeném stavu zobrazilo, že to je připojeno.
Jendа avatar 31.5.2013 13:22 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Simulace připojení LAN
cat /sys/class/net/eth0/carrier
Na to jsem se právě ptal. Testuje to jenom eth0? Třeba na lo mi to hlásí carrier furt, na SLIP/PLIP by se to mohlo chovat velmi divoce (nemám, kde otestovat).

Jestli to čte tenhle soubor nebo něco podobného (viz strace), tak ten LD_PRELOAD (nebo modul do jádra :-D).
31.5.2013 13:42 joseff | skóre: 4
Rozbalit Rozbalit vše Re: Simulace připojení LAN
No dobrá, a jaký mám dát příkaz, aby vždy vyhodnotil, že je síťově k něčemu připojen.

Stačí i virtuánlě bez uložení, třeba nějak podobně jako nastavení adres, které nepřežije reboot
ifconfig eth0 192.168.1.51 netmask 255.255.255.0
3.6.2013 20:49 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Simulace připojení LAN
Nejvěrnější je vytvořit dvojici rozhraní virtuálního ethernetu veth. Tam si pak můžete nastavovat adresy, stavy linky nebo názvy rozhraní do aleluja. Dělá se to ip link add ROZRHANÍ1 type veth peer name ROZHRANÍ2. A pak zřejmě ip link set dev ROZHRANÍ1 up pro nahození prvního rozhraní a obdobně pro druhé. Teprve pak budete mít na obou nosnou.
3.6.2013 21:01 NN
Rozbalit Rozbalit vše Re: Simulace připojení LAN
Odpovědět | | Sbalit | Link | Blokovat | Admin
K tomu use pouziva loopback.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.