Chciałbym otworzyć sesję terminala PuTTY na jednej maszynie, która jest fizycznie połączona z inną maszyną za pomocą kabla Ethernet typu cross-over. Idealnie byłoby, gdyby znaki wprowadzone w oknie terminala PuTTY na jednym komputerze pojawiały się w oknie terminala na drugim komputerze.
czy to możliwe?
Konfiguracja sprzętu:
Wyłączyłem karty bezprzewodowe na każdym komputerze i poszedłem do: Panel sterowania / Sieć i Internet / Centrum sieci i udostępniania / Wybierz połączenie lokalne / Właściwości / Wybierz przycisk TCP / IPv4 / Wybierz właściwości i odpowiednio ustaw adresy. Ustawienia wspólne dla każdego komputera to:
- Maska podsieci : 255.255.255.0
- Brama domyślna : 192.168.1.0
- Preferowany serwer DNS : 8.8.8.8
- Alternatywny serwer DNS : 8.8.4.4
Komputer 1: Windows 7, 64-bit, SP1. Statyczny adres IP to 192.168.1.4
Maszyna 1: Windows 7 (wbudowany), 32-bitowy Statyczny adres IP to 192.168.1.5
Oba komputery mają wyłączone Zapory systemu Windows.
Skłamałem, gdy powiedziałem, że urządzenia zostały fizycznie połączone kablem ethernetowym. Każda maszyna jest raczej podłączona do modemu Ethernet / RF (przypisano jej statyczne adresy IP 192.168.1.2 i 192.168.1.3) za pomocą standardowego kabla sieciowego. Modemy powinny być przezroczyste, więc we wszystkich celach i celach oba urządzenia powinny być połączone przez Ethernet.
Podejście i próby rozwiązania
Na każdym komputerze w wierszu polecenia mogę pingować każdy z następujących adresów IP. 192.168.1.2, 192.168.1.3, 192.168.1.4, 192.168.1.5. Zatwardziały. Widzimy małe czasy transmisji ping związane z adresem IP lokalnej karty Ethernet i lokalnym modemem, dłuższe czasy związane z transmisją na adresy IP po drugiej stronie łącza RF.
Robię: Wyszukaj / wybierz Sieć / i zobacz dwa i tylko dwa komputery na każdym komputerze.
Na obu komputerach uruchamiam sesję PuTTY, wybieram SSH, wpisuję odpowiedni adres IP (192.168.1.5 z 192.168.1.4 i vice versa) i używam domyślnej wartości portu 22. Wyłączam również uwierzytelnianie (nie jestem pewien, czy to powoduje dowolna różnica), przechodząc do SSH / Auth / i wybierając całkowicie pomiń uwierzytelnianie . Podczas próby uruchomienia sesji PuTTY pojawia się komunikat Błąd sieci: Odmowa połączenia . Zatwardziały.
Więc zadaję pytanie: Skąd wiemy, że port 22 to właściwy numer portu? Idę do przeciwnej maszyny, w wierszu polecenia wpisz: netstat -a. Widzę następujące:
za. Pod TCP protokołu oraz ODBIORU stanie widzę 0.0.0.0:7, 0.0.0.0:9 itp numerów portów 7, 9, 13, 17, 19, 80, itd Nie obserwuje port 22.
b. Również pod protokołem TCP i stanem LISTENING widzę 192.168.1.5:139. Uderza mnie to jako najbardziej zachęcający numer portu do próby połączenia za pośrednictwem / over. Okazuje się, że obie maszyny mają stan LISTENING na porcie 139.
do. W dalszej części listy w protokole UDP , ale przy pustym polu stanu, widzę 192.168.1.5:137, 192.168.1.5:138 itd. Dla portów 137, 138, 520, 5353.
Następnie próbuję wrócić do nawiązywania połączenia w PuTTY, tym razem przy użyciu portu 139. Tym razem pojawia się komunikat Błąd sieci: Oprogramowanie spowodowało przerwanie połączenia . Błąd pojawia się około 30 sekund po próbie połączenia. Robię to samo z drugiego komputera i pojawia się komunikat: Błąd sieci: limit czasu połączenia .
Jeśli uruchomię polecenie netstat -a w wierszu polecenia wkrótce po próbie połączenia z innym komputerem w PuTTY, zobaczyłem wpis (Protokół | Adres lokalny | Adres obcy | Stan), który był
TCP | 192.168.1.5:49328 | 19.168.1.4:netbios-ssn | SYN_SENT
I widziałem wartość stanu ESTABLISHED, w której adres obcy odpowiada maszynie, z którą próbowałem nawiązać połączenie.
Po pierwsze powtórzę główne pytanie:
Czy w ten sposób mogę wysyłać znaki z jednej sesji terminala / maszyny na drugą?
Jeśli tak, wszelkie uwagi i / lub komentarze na temat tego, jak ustanowić niezawodne połączenie, byłyby bardzo mile widziane.
Chris