RTV forum PL | NewsGroups PL

Jak uruchomić serwer proxy dla modemu GPRS z minimalną znajomością Linuxa?

pytanie bardziej informatyczne

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak uruchomić serwer proxy dla modemu GPRS z minimalną znajomością Linuxa?

Goto page 1, 2  Next

sundayman
Guest

Sun Nov 06, 2022 6:07 am   



ale pewnie któryś z kolegów będzie wiedział.

Jest sobie urządzenie z modemem GPRS. To urządzenie łączy się z
komputerem, którym można to urządzenie obsługiwać poprzez "chmurę"
producenta modemów.

Czyli - w modemie ustawiam sobie adres serwera ( może to być zarówno IP
jak i domena) , numer portu itp.
Ze strony PC dokładnie tak samo. I ten serwer zestawia "transparentne
połączenie" po którym śmigają dane. Ruch jest minimalny, bo modem ma z
drugiej strony złąćze RS232 i de facto tam latają ramki po paręset
bajtów raz na jakiś czas.

Chciałbym, żeby modem nie łączył się z tym serwerem bezpośrednio ale
przez mój serwer proxy. Czyli modem trafia na mój serwer i on
pośredniczy w połączeniu z serwerem producenta modemu.

Docelowo chciałbym postawić sobie ten mój serwer proxy fizycznie u
siebie, ale to ciut później.
Teraz najwygodniej byłoby mi to zrobić na moim serwerze ( na seohost) ,
na którym trzymam strony internetowe. Albo kupiłbym jakiś prosty VPS u
nich jeśli tak będzie lepiej.

Pytanie - na czym da się to zrobić najprościej dla kogoś ( znaczy mnie )
kto linuxa zna słabo i ogólnie ma doświadczenie z serwerami na poziomie
pozwalającym zrobienie sobie strony, poczty itp pierdoły podstawowe.

Poczytałem trochę tego rodzaju rzeczy;

https://www.fosslinux.com/46027/self-hosted-proxy-servers.htm

ale niewiele to na razie wniosło w moje życie. Gdybym miał to stawiać na
własnym biurku to wolałbym coś na (tfu) windows albo OSX.

Jednym słowem - jak się za to zabrać ?

sundayman
Guest

Sun Nov 06, 2022 6:30 am   



z tego co poczytałem, to ten proceder można by zrealizować za pomocą
OpenVPN postawionym np. na UBUNTU na serwerze VPS ?
Czy tak i czy to jest dobre rozwiązanie ?

I kolejne pytanie - czy muszę mieć stałe IP do tego VPS czy też na
przykład można wykorzystać adresowanie przez subdomenę, którą mogę sobie
założyć na swoim serwerze www ?

Marek
Guest

Sun Nov 06, 2022 10:04 am   



Ale potrzebujesz takie proxy po udp czy TCP? Poniżej kod prostego
redirectora w warstwie aplikacyjnej. Instrukcja jak użyć i
skompilować na początku pliku.


/* 21.3.97
- opravena chybna manipulace s procesy (uz nevytvari zive mrtvoly)
-+= chaky =+-
*/

/* 3.8.97
- Pridan parametr -n pro zmenu jmena procesu pro lepsi maskovani Wink
-+= chaky =+-
*/

/* 21.11 Zmena - moze sa specifikovat uid a gid pod ktorym to vsetko
bezi */

/* redirect v2.0
* By Alhambra (alhambra@infonexus.com)
* and
* Maurautius (mrautius@leet.com)
* October 6, 1996
* Usage:
* redirector [-p localport] [-h remotehost] [-r
remoteport]
* ie:
* redirector -p 4300
* redirector -p 4400 -h whitehouse.gov -r 25
*
* Should be fairly portable...to compile on:
* Solaris: gcc redirector.c -lsocket -lnsl -o redirector
* Linux: gcc redirector.c -DLINUX -o redirector
* Irix: gcc redirector.c -o redirector
* SunOs: gcc redirector.c -o redirector
* You get the idea...
*
*
* By default, it now runs on a port which is #defined a few lines
down...
* This way, it's a little less obvious what it is from a ps -ef
*
*
* This version also has passwording on the socket. So, when you
connect, the
* first thing you need to type in the password, followed by a cr.
The default
* password is xxxxx (but you'll change this, right?). SO you'd do
something
* like:
* telnet foobar.com 4678
* Trying 3.1.3.37
* Connected to foobar.com
* Escape character is '^]'.
* xxxxx
* placetogo.com porttogoto
*
* And you'll be automagically there. There's also a dynamic static
mode...
* read the source, and you'll figure it out.
*/



/* Maximum time for user interaction and connection */
#define INTERACTION_TIMEOUT 60
#define CONNECTION_TIMEOUT 100
#define REDIR_TIMEOUT 180
#define DEFAULT_PORT 19750
#define UID 7000
#define GID 500

#include <sys/types.h>
#include <sys/wait.h>

#include <termios.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>

#include <sys/param.h>
#include <sys/times.h>
#ifdef LINUX
#include <sys/time.h>
#endif
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <sys/signal.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <string.h>
#include <sys/stat.h>



static char localip[64];

typedef void Sigfunc(int);

extern int errno;


void
usage (char *progname)
{
fprintf (stderr, "%s: -l LOCALIP -p LOCALPORT -h REMOTEHOST -r
REMOTEPORT [-n NEWCMDNAME]\n", progname);
fprintf (stderr, "example: %s -l 192.168.2.1 -p 9100 -h
foo.bar.com -r 25 -n httpd\n", progname);
fflush (stderr);
exit (1);
}


int
set_fl (int fd, int flags)
{ /* set file descriptor props */
int val;
if ((val = fcntl (fd, F_GETFL, 0)) < 0)
return (-1);
val |= flags;
if ((fcntl (fd, F_SETFL, val)) < 0)
return (-1);
return (0);
}

/*------------------------------------------------
* s e t u p _ s o c k e t
*
*/
int setup_socket (int *tcpsocket, short port)
{ /* set up incoming socket */
int flag=1;
struct sockaddr_in serv_addr;

if ((*tcpsocket = socket (AF_INET, SOCK_STREAM, 0)) < 0)
{
printf("socket (AF_INET, SOCK_STREAM, 0)) < 0\n");
exit (-1);
}

setsockopt(*tcpsocket, SOL_SOCKET, SO_REUSEADDR, &flag,
sizeof(int));

memset (&serv_addr, 0, sizeof (serv_addr));

serv_addr.sin_family = AF_INET;
// serv_addr.sin_addr.s_addr = htonl (INADDR_ANY);
//
//inet_aton(localip, &serv_addr.sin_addr);
serv_addr.sin_addr.s_addr = inet_addr(localip);
serv_addr.sin_port = htons (port);
setsockopt(*tcpsocket,SOL_SOCKET,SO_REUSEADDR,0,0);
setsockopt(*tcpsocket,SOL_SOCKET,SO_LINGER,0,0);
if (bind (*tcpsocket, (struct sockaddr *) &serv_addr, sizeof
(serv_addr)) < 0){
printf("can't bind to %s \n",localip);
return (-1);

}

return (0);
}



void
feed_through (int tcpfd, int outfd)
{

fd_set fdvar;
char buffer[8192];
int width;
size_t numbytes;

width = (tcpfd > outfd) ? tcpfd + 1 : outfd + 1;

set_fl (outfd, O_NONBLOCK);
set_fl (outfd, O_NONBLOCK);

while (1)
{
FD_ZERO (&fdvar);
FD_SET (tcpfd, &fdvar);
FD_SET (outfd, &fdvar);

select (width, &fdvar, (fd_set *) 0, (fd_set *) 0, NULL);
if (FD_ISSET (tcpfd, &fdvar))
{
if ((numbytes = read (tcpfd, buffer, sizeof (buffer))) == 0) {
alarm (0);
return;
};
if ((write (outfd, buffer, numbytes)) != numbytes)
{
alarm (0);
exit (-1);
}
}
else if (FD_ISSET (outfd, &fdvar))
{
/* Read from the outfd and write to the tcp */
if ((numbytes = read (outfd, buffer, sizeof (buffer))) == 0) {
alarm (0);
return;
};
if ((write (tcpfd, buffer, numbytes)) != numbytes)
{
alarm (0);
exit (-1);
}
}
else
{
alarm (0);
exit (-1);
}
}
alarm (0);
};


/*--------------------------------------------------
* This does the happy UNIX daemon initialization.....
*
* Taken from steven's book on unix programming.
*/
int daemon_init(void) {
pid_t pid;


return;
if ( (pid=fork()) < 0)
return -1;
else if (pid != 0)
exit(0); /* parent goes bye-bye */

close(STDIN_FILENO);
close(STDOUT_FILENO);
close(STDERR_FILENO);
setsid(); /* become session leader */
chdir("/"); /* change working directory */
umask(0); /* clear file creation mask */
setuid(UID);
setgid(GID);
return 0;
}


/*------------------------------------------------
* f d g e t s
*
* fgets (almost) with a file descriptor instead of a stream
* gets the next non-empty line.
*/
const char *newln = "\n\r";
int fdgets(char *buffer, int size, int fd) {
int i=0;

/* Start by skipping over any new lines */
if (read(fd, buffer, 1)==-1) return -1;
while (strchr(newln, buffer[i]))
if (read(fd, buffer, 1)==-1) return -1;

/* Now start really reading the line */
while (buffer[i] != '\n' && i < size-1) {
i++;
if (read(fd, buffer+i, 1)==-1) return -1;
}

/* Terminate the string */
buffer[i] = 0;
return i;
}


/*------------------------------------------------
* d o C o n n e c t
*/
int doConnect(char *hostname, short port) {
int sockfd;
struct sockaddr_in remote;
struct hostent *host;

alarm (CONNECTION_TIMEOUT); /* Reset timeout */

sockfd = socket(AF_INET, SOCK_STREAM, 0);
if (sockfd == -1) return -1;

host = gethostbyname(hostname);
if (!host) return -1;

remote.sin_family = AF_INET;
memcpy(&remote.sin_addr, host->h_addr_list[0],
sizeof(remote.sin_addr));
remote.sin_port = htons(port);
if (connect(sockfd, (struct sockaddr *) &remote, sizeof(remote)) ==
-1)
sockfd = -1;

alarm (0);
return sockfd;
}


/*------------------------------------------------
* s t a t i c R e d i r e c t
*/
void staticRedirect(short localport, char *hostname, short port) {
int listen_sock, in_sock, out_sock;
struct sockaddr_in client;
int client_size;

alarm (REDIR_TIMEOUT);

if (setup_socket(&listen_sock, localport) == -1) exit(0);

listen(listen_sock, 1);

client_size = sizeof(client);
in_sock = accept(listen_sock, (struct sockaddr *) &client,
&client_size);
if (in_sock == -1) exit(0);

out_sock = doConnect(hostname, port);
if (out_sock == -1) exit(0);

alarm(0);

feed_through(in_sock, out_sock);
}


/*------------------------------------------------
* i n t e r a c t i o n
*/
#define BUFFSIZE 100
void interaction(int sockfd) {
int outsock;
char passwd[10];
char *sep = " \t\n\r";
char buffer[100];
char *tok;
char *hostname, *port, *port2;


alarm(INTERACTION_TIMEOUT); /* Enable timeout */
/* avoid "strings" */
/* set up our 'password' string */
passwd[0] = 's';
passwd[1] = 'e';
passwd[2] = 'r';
passwd[3] = 't';
passwd[4] = 0;
passwd[5] = 0;

/* Step 1: Check password */
if (fdgets(buffer, BUFFSIZE, sockfd) < 0) exit(0);

tok = strtok(buffer, sep);
if (!tok || strcmp(tok, passwd)) exit (0);

/* Step 2: Get command */
if (fdgets(buffer, BUFFSIZE, sockfd) < 0) exit(0);

hostname = strtok(buffer, sep);
port = strtok(NULL, sep);
port2 = strtok(NULL, sep);

if (strtok(0,sep)) exit(0); /* Bail if there's trailing crap */

if (!port) exit(0); /* User gave bogus line... */

alarm(0); /* Disable timeout */
if (!port2) {
outsock = doConnect(hostname, atoi(port));
if (outsock == -1) exit(0);
feed_through(sockfd, outsock);
} else { /*-- One-the-fly redirction -----------------*/
close(sockfd); /* Get rid of user */
staticRedirect(atoi(port2), hostname, atoi(port));
}

exit(0);
}


/*------------------------------------------------
* m a i n
*/
int main (int argc, char *argv[])
{
int c;

int dset = 0, hset = 0,i;
int port = DEFAULT_PORT;
char *host=0, *n_cmdname,cmdtext[255];
int remote=0;

int tcpfd, tcpsocket;
struct sockaddr_in client_addr;
int client_len;

pid_t pid;

int outfd;

localip[0]=0;

while ((c = getopt (argc, argv, "p:r:h:n:l:")) != -1)
switch (c)
{
case 'p':
port = atoi (optarg);
break;
case 'r':
remote = atoi (optarg);
dset = 1;
break;
case 'h':
host = optarg;
hset = 1;
break;

case 'l':
strcpy(localip,optarg);
break;
case 'n':
n_cmdname = optarg;
strcpy(cmdtext,n_cmdname);
for(i=0;i<argc;i++) {
memset(argv[i],'\x0',strlen(argv[i]));
};
strcpy(argv[0],cmdtext);
break;
case '?':
usage (argv[0]);
break;
}

if(! localip[0]) usage (argv[0]);


daemon_init(); /* Go into daemon mode... */

/* Bind the specified port. */
if (setup_socket (&tcpsocket, port) == -1) {
/* socket setup error - report somehow? */
/* Naw, we want to be quiet...no error reporting. */
/* fprintf (stderr, "Error in seting up the socket.
Aborting.\n");*/
exit (-1);
}

/* We wait for a connection on the spec. port */
for (;Wink {
listen (tcpsocket, 5);
client_len = sizeof (client_addr);
tcpfd = accept (tcpsocket, (struct sockaddr *) &client_addr,
&client_len);

pid=fork();
setsid();
if (pid > 0) {
close(tcpsocket);
if (dset) {
outfd = doConnect(host, remote);
if (outfd == -1) {
close(tcpfd);

exit(0);
};

feed_through(tcpfd, outfd);
}
else {
interaction(tcpfd);
};
close(tcpfd);
exit(0);

}
else {
close (tcpfd);
};
};
/* End of Main */
};

--
Marek

Cezar
Guest

Sun Nov 06, 2022 11:28 am   



On 06/11/2022 05:07, sundayman wrote:
Quote:
ale pewnie któryś z kolegów będzie wiedział.

Jest sobie urządzenie z modemem GPRS. To urządzenie łączy się z
komputerem, którym można to urządzenie obsługiwać poprzez "chmurę"
producenta modemów.

Czyli - w modemie ustawiam sobie adres serwera ( może to być zarówno IP
jak i domena) , numer portu itp.
Ze strony PC dokładnie tak samo. I ten serwer zestawia "transparentne
połączenie" po którym śmigają dane. Ruch jest minimalny, bo modem ma z
drugiej strony złąćze RS232 i de facto tam latają ramki po paręset
bajtów raz na jakiś czas.

Chciałbym, żeby modem nie łączył się z tym serwerem bezpośrednio ale
przez mój serwer proxy. Czyli modem trafia na mój serwer i on
pośredniczy w połączeniu z serwerem producenta modemu.

Docelowo chciałbym postawić sobie ten mój serwer proxy fizycznie u
siebie, ale to ciut później.
Teraz najwygodniej byłoby mi to zrobić na moim serwerze ( na seohost) ,
na którym trzymam strony internetowe. Albo kupiłbym jakiś prosty VPS u
nich jeśli tak będzie lepiej.

Pytanie - na czym da się to zrobić najprościej dla kogoś ( znaczy mnie )
kto linuxa zna słabo i ogólnie ma doświadczenie z serwerami na poziomie
pozwalającym zrobienie sobie strony, poczty itp pierdoły podstawowe.

Poczytałem trochę tego rodzaju rzeczy;

https://www.fosslinux.com/46027/self-hosted-proxy-servers.htm

ale niewiele to na razie wniosło w moje życie. Gdybym miał to stawiać na
własnym biurku to wolałbym coś na (tfu) windows albo OSX.

Jednym słowem - jak się za to zabrać ?



czy wiesz jakiego VPN/ tunelu używa ten modem?
czy masz dostęp do konfiguracji czy nawet oprogramowania tego modemu?

Proxy (jakiekolwiek by to nie było) może nie zadziałać jeżeli producent
autentykuje / autoryzuje się po PKI


c.

Mirek
Guest

Sun Nov 06, 2022 12:01 pm   



On 6.11.2022 06:07, sundayman wrote:

Mirek
Guest

Sun Nov 06, 2022 12:05 pm   



On 6.11.2022 12:01, Mirek wrote:
Quote:
On 6.11.2022 06:07, sundayman wrote:

Dobra, chyba któryś serwer obciął, bo uznał to za niebezpieczne Smile
generalnie chodziło mi o to:
https://notes.tweakblogs.net/blog/7955/using-netcat-to-build-a-simple-tcp-proxy-in-linux.html
Możesz to odpalić po prostu na serwerze, na którym masz shell-a.

--
Mirek.

Dawid Rutkowski
Guest

Sun Nov 06, 2022 2:13 pm   



niedziela, 6 listopada 2022 o 06:07:10 UTC+1 sundayman napisał(a):

Quote:
Jednym słowem - jak się za to zabrać ?

Ale co właściwie chcesz osiągnąć?
Podgląd komunikacji?

Jak serwer jest Twój, czyli nasz roota, to najprostszy będzie DNAT.
Ustawiasz w modemie jako adres serwera adres Twojego serwera, patrzysz tcpdumpem, na którym porcie modem puka, a pitem ustawiasz DNAT tego portu na serwer producenta.
Cały ruch idzie przez Fwój serwer, więc podgląd i zapis tcpdumpem.

sundayman
Guest

Sun Nov 06, 2022 10:04 pm   



W dniu 2022-11-06 o 12:05, Mirek pisze:
Quote:
On 6.11.2022 12:01, Mirek wrote:
On 6.11.2022 06:07, sundayman wrote:

Dobra, chyba któryś serwer obciął, bo uznał to za niebezpieczne Smile
generalnie chodziło mi o to:
https://notes.tweakblogs.net/blog/7955/using-netcat-to-build-a-simple-tcp-proxy-in-linux.html
Możesz to odpalić po prostu na serwerze, na którym masz shell-a.


dzięki za materiały, zaraz się zapoznam.

sundayman
Guest

Sun Nov 06, 2022 10:04 pm   



Quote:
czy wiesz jakiego VPN/ tunelu używa ten modem?
czy masz dostęp do konfiguracji czy nawet oprogramowania tego modemu?

Do konfiguracji oczywiście tak, do firmware oczywiście nie.
Komunikacja, z której korzystam jest po TCP.

Jak wygląda autoryzacja samego modemu do serwera producenta nie wiem -
od strony modemu to jest hasło oraz numer modemu.


Quote:
Proxy (jakiekolwiek by to nie było) może nie zadziałać jeżeli producent
autentykuje / autoryzuje się po PKI

Nie wydaje mi się, ale tego nie wiem.


Quote:
Ale co właściwie chcesz osiągnąć?
Podgląd komunikacji?

Chodzi raczej o kwestie "polityczne".
Rzecz w tym, żeby "ukryć" adres oryginalnego serwera - z pewnych
względów wolę, żeby był tam adres mój.

Nie potrzebna mi żadna ingerencja ani żaden podgląd w tym momencie.

sundayman
Guest

Sun Nov 06, 2022 10:12 pm   



Quote:
czy wiesz jakiego VPN/ tunelu używa ten modem?

A musi używać ?
Jedne co mam to adres i port serwera.
No i dostęp do systemu zarządzania na tymże serwerze, ale w tym
konkretnym przypadku z mojego punku widzenia nic ten serwer nie robi -
przesyła dane z jednego modemu do drugiego.

Bo ten program na PC jest właściwie traktowany jako drugi modem.
Zresztą to może być i fizycznie taki układ dwa modemy połączone ze sobą
via GPRS<>internet.

Czyli moją sytuacja jest schematycznie taka

jeśli to są 2 modemy:
RS232(modem)---GPRS---serwer---GPRS---(modem)RS232

jeśli modem + PC:
RS232(modem)---GPRS---serwer---(PC)RS232


konfiguracyjnie się to niczym nie różni.
W przypadku PC zamiast fizycznego modemy to mała aplikacja, której
podaje się dokładnie te same parametry co modemowi ( adres serwer + port
) i ona udostępnia wirtualny COM port.

J.F
Guest

Mon Nov 07, 2022 3:26 pm   



On Sun, 6 Nov 2022 06:07:08 +0100, sundayman wrote:
Quote:
ale pewnie któryś z kolegów będzie wiedział.

Jest sobie urządzenie z modemem GPRS. To urządzenie łączy się z
komputerem, którym można to urządzenie obsługiwać poprzez "chmurę"
producenta modemów.

Czyli - w modemie ustawiam sobie adres serwera ( może to być zarówno IP
jak i domena) , numer portu itp.

serwera chmury producenta jak rozumiem?

Quote:
Ze strony PC dokładnie tak samo. I ten serwer zestawia "transparentne
połączenie" po którym śmigają dane. Ruch jest minimalny, bo modem ma z
drugiej strony złąćze RS232 i de facto tam latają ramki po paręset
bajtów raz na jakiś czas.

Chciałbym, żeby modem nie łączył się z tym serwerem bezpośrednio ale
przez mój serwer proxy. Czyli modem trafia na mój serwer i on
pośredniczy w połączeniu z serwerem producenta modemu.

Docelowo chciałbym postawić sobie ten mój serwer proxy fizycznie u
siebie, ale to ciut później.

A jakies stałe IP masz?

Quote:
Teraz najwygodniej byłoby mi to zrobić na moim serwerze ( na seohost) ,
na którym trzymam strony internetowe. Albo kupiłbym jakiś prosty VPS u
nich jeśli tak będzie lepiej.

Pytanie - na czym da się to zrobić najprościej dla kogoś ( znaczy mnie )
kto linuxa zna słabo i ogólnie ma doświadczenie z serwerami na poziomie
pozwalającym zrobienie sobie strony, poczty itp pierdoły podstawowe.

Na oko to potrzebujesz czegos rodzaju iptunnel.
w modemie ustawiasz adres proxy i port, i na tym serwerze proxy
konfigurujesz, ze połączenie ma byc dalej przekazywane do chmury
producenta. Chyba, ze juz nie chcesz chmury producenta,
to jakos bezposrednio.

Tylko ze jak masz jakies stałe łącze z internetem, to wypadałoby to
zrobic na twoim routerze, albo na nim skonfigurowac przekierowanie
do serwera proxy.

Czy zadziala ... trudno powiedziec, bo cos duzo tych przekierowan
wyjdzie :-)


Quote:
Poczytałem trochę tego rodzaju rzeczy;
https://www.fosslinux.com/46027/self-hosted-proxy-servers.htm

ale niewiele to na razie wniosło w moje życie. Gdybym miał to stawiać na
własnym biurku to wolałbym coś na (tfu) windows albo OSX.

Na linuxie robi sie to trywialnie.
tzn takie przekierowanie portow, bo wiecej to moze byc wiekszy
problem.

Na Windows podobno tez mozna
https://linuxhint.com/port-forwarding-windows/

Modem jak rozumiem w miare czesto łączy sie z "chmurą producenta"
i cos tam jej melduje, ze jest osiagalny pod tym adresem.
Utrzymuje to połączenie, czy czesto próbuje?

Co bedzie, jak twoj router straci łącznosc, czy sie zresetuje, a
modem nic o tym nie wie ...

J.

J.F
Guest

Mon Nov 07, 2022 3:31 pm   



On Sun, 6 Nov 2022 06:30:42 +0100, sundayman wrote:
Quote:
z tego co poczytałem, to ten proceder można by zrealizować za pomocą
OpenVPN postawionym np. na UBUNTU na serwerze VPS ?
Czy tak i czy to jest dobre rozwiązanie ?

I kolejne pytanie - czy muszę mieć stałe IP do tego VPS czy też na
przykład można wykorzystać adresowanie przez subdomenę, którą mogę sobie
założyć na swoim serwerze www ?

A co to za subdomena?

Jak znam zycie, to modem bedzie chcial znac adres IP tego proxy,
lub normalny adres domenowy.
Jak nie masz stalego IP, to mozesz skorzystac z jakiegos serwisu
dynamicznego DNS, dyndns.org, noip.com, anydns.info

Moze jednak zdac sie na chmure producenta, bez kombinowania?

J.

J.F
Guest

Mon Nov 07, 2022 3:39 pm   



On Sun, 6 Nov 2022 22:04:52 +0100, sundayman wrote:
Quote:
czy wiesz jakiego VPN/ tunelu używa ten modem?
czy masz dostęp do konfiguracji czy nawet oprogramowania tego modemu?

Do konfiguracji oczywiście tak, do firmware oczywiście nie.
Komunikacja, z której korzystam jest po TCP.

Jak wygląda autoryzacja samego modemu do serwera producenta nie wiem -
od strony modemu to jest hasło oraz numer modemu.

Proxy (jakiekolwiek by to nie było) może nie zadziałać jeżeli producent
autentykuje / autoryzuje się po PKI

Nie wydaje mi się, ale tego nie wiem.

Ale co właściwie chcesz osiągnąć?
Podgląd komunikacji?

Chodzi raczej o kwestie "polityczne".
Rzecz w tym, żeby "ukryć" adres oryginalnego serwera - z pewnych
względów wolę, żeby był tam adres mój.

To moze ci wystarczy, ze w modem wpiszesz adres domenowy ze swojej
domeny DNS, jakies tam "modem12345.xxxx.pl",
a w DNS zdefiniujesz adres IP do "serwera chmury" producenta.

Tylko trzeba regularnie sprawdzac, czy producent czegos nie zmienil.

J.

J.F
Guest

Mon Nov 07, 2022 3:40 pm   



On Sun, 6 Nov 2022 22:04:49 +0100, sundayman wrote:
Quote:
W dniu 2022-11-06 o 12:05, Mirek pisze:
On 6.11.2022 12:01, Mirek wrote:
On 6.11.2022 06:07, sundayman wrote:

Dobra, chyba któryś serwer obciął, bo uznał to za niebezpieczne Smile
generalnie chodziło mi o to:
https://notes.tweakblogs.net/blog/7955/using-netcat-to-build-a-simple-tcp-proxy-in-linux.html
Możesz to odpalić po prostu na serwerze, na którym masz shell-a.


dzięki za materiały, zaraz się zapoznam.

Uwaga - nc.exe jest nielubiany przez Defendera.
Trzeba wyjatek ustawiac, i trzymac duzo kopii, najlepiej na CD,
bo moze trafic do kwarantanny.

J.

J.F
Guest

Mon Nov 07, 2022 3:55 pm   



On Sun, 6 Nov 2022 22:12:10 +0100, sundayman wrote:
Quote:
czy wiesz jakiego VPN/ tunelu używa ten modem?
A musi używać ?
Jedne co mam to adres i port serwera.
No i dostęp do systemu zarządzania na tymże serwerze, ale w tym
konkretnym przypadku z mojego punku widzenia nic ten serwer nie robi -
przesyła dane z jednego modemu do drugiego.

Bo ten program na PC jest właściwie traktowany jako drugi modem.
Zresztą to może być i fizycznie taki układ dwa modemy połączone ze sobą
via GPRS<>internet.

Czyli moją sytuacja jest schematycznie taka

jeśli to są 2 modemy:
RS232(modem)---GPRS---serwer---GPRS---(modem)RS232

jeśli modem + PC:
RS232(modem)---GPRS---serwer---(PC)RS232

konfiguracyjnie się to niczym nie różni.
W przypadku PC zamiast fizycznego modemy to mała aplikacja, której
podaje się dokładnie te same parametry co modemowi ( adres serwer + port
) i ona udostępnia wirtualny COM port.

Nawiasem mowiac - ze starych zabaw pamietam, ze dawało sie nawiazac
łącznosc modem-modem, o ile byly w jednej sieci GSM, tylko:
-czy to bylo w GPRS, czy w czyms wczesniejszym ... CSD?
-zawsze by problem w jakiej to taryfie - czy w ramach taniego pakietu,
czy po jakiejs niebotycznej z cennika,
-no i nie zawsze dzialalo ... o pieniadze chodzilo, za dodatkowe
uslugi, transmisje danych itp.

Czy nadal dziala ... moze jeszcze jakims cudem tak, bo chyba
operatorzy wycofują sie z tych uslug.
Jako powazny klient bodajze masz zawrzec umowe na prywatny APN.

J.

Goto page 1, 2  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak uruchomić serwer proxy dla modemu GPRS z minimalną znajomością Linuxa?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map