Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Serwer UDP i pobieranie danych
Misiur66
post
Post #1





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


Cześć.

Wracam ze starym problemem. Kiedyś pobierałem dane o serwerze CS na serwerze który stoi na nazwie i wszystko działało. Robiłem to za pomocą gotowej biblioteki. Nagle przestało działać. Wszystko wskazywało na to że instalacja MyBB coś zmieniła. Nie miałem czasu tego poprawić. Teraz znowu mam za zadanie to naprawić, więc korzystając z manuala, tutoriali i ze swojej wiedzy, próbuję krok po kroku zadziałać.

Kod
<?php

$ip = "194.109.69.51";

$fp = @fsockopen("udp://".$ip, 27015);

//stream_set_blocking($fp, 0);
$data = stream_get_meta_data($fp);

if($data['timed_out'])
{
    die("Timed Out");
}
else
{
    print_r($data);
}

?>


Zwraca:

Kod
Array ( [stream_type] => udp_socket [mode] => r+ [unread_bytes] => 0 [seekable] => [timed_out] => [blocked] => 1 [eof] => )


To dobrze, znaczy że się połączyło.

No to dalej, kopiuję informację którą trzeba wysłać na serwer i ją wysyłam. Teraz kod wygląda tak:

Kod
<?php

$ip = "194.109.69.51";

$fp = @fsockopen("udp://".$ip, 27015);

//stream_set_blocking($fp, 0);
fwrite( $fp, sprintf( '%c%c%c%c%s%c', 0xFF, 0xFF, 0xFF, 0xFF, "infostring", 0x00 ) );
$return = fread($fp, 100);
echo $return;
$data = stream_get_meta_data($fp);

if($data['timed_out'])
{
    die("Timed Out");
}
else
{
    print_r($data);
}

?>


Zwraca:

Kod
Timed Out


Nie wiem co jest grane. Bawiłem się w skanowanie portów mojego serwera, ale nic z tego nie wywnioskowałem.

Czy ktoś miał podobny problem lub wie co jest grane?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A nie pomyślałeś o tym, że administrator mógł uaktywnić firewalla?

Skoro nagle przestało, to jest to najbardziej prawdopodobna przyczyna; zapytaj na supporcie. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Misiur66
post
Post #3





Grupa: Zarejestrowani
Postów: 170
Pomógł: 11
Dołączył: 2.03.2008
Skąd: Lublin

Ostrzeżenie: (10%)
X----


To maile pomiędzy mną a admin@nazwa.pl. Tam mnie skierowali z supportu (Dodam że ta rozmowa odbyła się dużo wcześniej niż ten temat i jeszcze wtedy używałem gotowego skryptu. Ale jak widać poniżej, objawy takie same.)

Cytat
Z naszej strony nic nie było blokowane ani zmieniane.
Przeanalizowaliśmy działanie skryptu i przy połączeniu do zdalnego adresu następuje timeout.
Proszę sprawdzić ustawienia firewalla po państwa stronie

Wycinek z wykonanego strace.

Kod
munmap(0x36c64000, 4096)                = 0
uname({sys="Linux", node="server", ...}) = 0
gettimeofday({1267777204, 314675}, NULL) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(3, {sin_family=AF_INET, sin_port=htons(27015), sin_addr=inet_addr("194.109.69.51")}}, 16) = 0
fcntl64(3, F_SETFL, O_RDWR)             = 0
fcntl64(3, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
send(3, "\377\377\377\377V\0\0\0\0", 9, 0) = 9
gettimeofday({1267777204, 315448}, NULL) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 4
fcntl64(4, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(4, {sin_family=AF_INET, sin_port=htons(27015), sin_addr=inet_addr("194.109.69.51")}}, 16) = 0
fcntl64(4, F_SETFL, O_RDWR)             = 0
fcntl64(4, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(4, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
send(4, "\377\377\377\377V\0\0\0\0", 9, 0) = 9
gettimeofday({1267777204, 315981}, NULL) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 5
fcntl64(5, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
connect(5, {sin_family=AF_INET, sin_port=htons(27015), sin_addr=inet_addr("194.109.69.51")}}, 16) = 0
fcntl64(5, F_SETFL, O_RDWR)             = 0
fcntl64(5, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(5, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
send(5, "\377\377\377\377V\0\0\0\0", 9, 0) = 9
gettimeofday({1267777204, 316422}, NULL) = 0
gettimeofday({1267777204, 316490}, NULL) = 0
select(6, [3 4 5], [], [], {0, 999999}) = 0 (Timeout)
send(3, "\377\377\377\377TSource Engine Query\0", 25, 0) = 25
send(4, "\377\377\377\377U%s", 7, 0)    = 7
send(5, "\377\377\377\377V%s", 7, 0)    = 7
gettimeofday({1267777205, 315983}, NULL) = 0
gettimeofday({1267777205, 316076}, NULL) = 0
select(6, [3 4 5], [], [], {0, 999999}) = 0 (Timeout)
close(3)                                = 0
close(4)                                = 0
close(5)


Pozdrawiam,
Jacek Łukaszewicz


Moja odpowiedź:

Cytat
Dziękuję za informację.

Jak sprawdzić ustawienia firewall'a u nas? I jeszcze jedno - czy zainstalowanie skryptu forum (MyBB) mogło coś zmienić w ustawieniach?


I ostatnia wiadomość od nich

Cytat
Niestety nie jestem w stanie Panu pomóc w ustaleniu ustawien firewalla ponieważ nie jestem
administratorem zdalnego serwera. Co do wpływu instalacji skryptów forum na działanie Pańskiego monitora
to ciężko powiedzieć ponieważ nei znam ani jednej ani drugiej aplikacji. Choć szczerze mówiąc nie powinno mieć
to wpływu.

Pozdrawiam,
Michał Kowal



Szukałem jakichś rzeczy typu mod_secure.c czy coś, ale nigdzie nie widziałem.


Do kogo się zwrócić, do supportu, czy znowu do tego admin@nazwa.pl? Kto może coś sprawdzić/zmienić?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:59