Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Эйчаре; П02-му; Коту2; / 25 сообщений из 30, страница 1 из 2
11.04.2005, 20:39
    #33009343
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
http://www.sql.ru/forum/actualthread.aspx?tid=175107
Рибяты (к**вы), помогите. Однозначно прошу. Короче, нужна гарантия, что
это работает в=с=е=г=д=а на любом "н=о=р=м=а=л=ь=н=о=м" языке (С/С#).

Повторяю идею:
ADOVBS --<<>>-- Socket1(1434) <-> data <-> Socket2 --<<>>-- SS(1433)

И прилагаю упрощенный код своего как-бы-сниффера. Просто перепишите
это на C# и доложите результат. Просьба отнестись сурьезно и без ухмылок.
Мне и так чижело. "30 суток" - это вам не шуточки.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
import socket
host = '127.0.0.1'
port =  1434 
s1 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2 = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s2.connect((host,  1433 ))
s1.bind((host, port))
s1.listen( 1 )
cn, addr = s1.accept()
while  1 :
    data = cn.recv( 4096 )
    if not data: break
    print 'client: ', data -- печатаем в stdout запрос от VB скрипта;
    s2.send(data)
    data = s2.recv( 4096 )
    if not data: break
    print 'sqlserver: ', data -- печатаем в stdout ответ от SQL сервера;
    cn.send(data)
s1.close()
s2.close()
cn.close()
...
Рейтинг: 0 / 0
11.04.2005, 23:10
    #33009457
Cat2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
Я бы посмотрел, но не понял, куды код сувать. Да у меня на букву "с" ни дома, ни на работе нет ничего.
=====================
А вообще-то, по-моему вопрос имеет чисто академический интерес. Типа, что будет, если базу править нотепадом?
...
Рейтинг: 0 / 0
12.04.2005, 00:21
    #33009505
папа акуз
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
токашто за вот токуюже иле падобную х.йню предлогале симнаццать тыщ ганжубаксоф. фсе поржали.

зы
афтар жжот!!!

тынц
...
Рейтинг: 0 / 0
12.04.2005, 00:22
    #33009506
папа акуз
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
афтар - ноченающий хакер!!!



тынц
...
Рейтинг: 0 / 0
12.04.2005, 00:24
    #33009507
папа акуз
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
Мне и так чижело. "30 суток" - это вам не шуточки.

прицтавел, што будут делоть с афтором черис триццать сутог... ужэ нисмишно.

тынц
...
Рейтинг: 0 / 0
12.04.2005, 00:28
    #33009510
папа акуз
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
памоиму афтора пора спосать. новерно афтар сейчас седит глубако ф тылу врога и от решенея этой зодачи зовисит будет ли вскрыт сикретный сайд пинтагона иле к афтару прешлют чистильщека... аш ф пот прашыбло.

афтар, пешы ищё!!!

тынц
...
Рейтинг: 0 / 0
12.04.2005, 17:10
    #33011367
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
Осталась одна надежда - на Магнуса23.
...
Рейтинг: 0 / 0
12.04.2005, 17:25
    #33011421
Программизд 02
Администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
RatTailОсталась одна надежда - на Магнуса23.

Надо было его в сабже перечислить, а так он может обидиться и отказать в помощи.
...
Рейтинг: 0 / 0
12.04.2005, 18:39
    #33011744
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
using System.Net;
using System.Net.Sockets;
using System.Text;

			int port = 1434;
			Socket s1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
			Socket s2 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
			s2.Connect(new IPEndPoint(new IPAddress(new byte[]{127,0,0,0}), 1433));
			s1.Bind(new IPEndPoint(new IPAddress(new byte[]{127,0,0,0}), port));
			s1.Listen(1);
			Socket s3  = s1.Accept();
			int bytes;
			Byte[] RecvBytes = new Byte[4096];

			do{
				bytes = s3.Receive(RecvBytes, RecvBytes.Length, 0);
				if(bytes == 0) break;
				Console.WriteLine("client:{0}", Encoding.ASCII.GetString(RecvBytes));//печатаем в stdout запрос от VB скрипта;
				s2.Send(RecvBytes);
				bytes = s2.Receive(RecvBytes, RecvBytes.Length, 0);
				if(bytes == 0) break;
				Console.WriteLine("sqlserver:{0}", Encoding.ASCII.GetString(RecvBytes)); //печатаем в stdout ответ от SQL сервера;
				s3.Send(RecvBytes);
			}while(true);
			s1.Shutdown(SocketShutdown.Both);
			s1.Close();
			s2.Shutdown(SocketShutdown.Both);
			s2.Close();
		

У меня времени щас нету, поэтому пока только вольный перевод сделал, не тестил, щас и сервака нема.
Вообщем здается мне чето там не так.

Magnus
...
Рейтинг: 0 / 0
12.04.2005, 19:29
    #33011864
hDrummer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
RatTailОсталась одна надежда - на Магнуса23.

надежда не подвела
ещё б кто потестировал :)
...
Рейтинг: 0 / 0
12.04.2005, 20:29
    #33011943
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
ААААААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!

Магнус - Ты Гений! Тока пожалуйста протестируй на моем (том)
конкретном VB скрипте и выложи бинарник "переговоров" скрипта с сиквелом.

PS А чего-й-то эйч так странно ухмыляется? Ошибку какую заметил или что?
...
Рейтинг: 0 / 0
12.04.2005, 21:28
    #33011991
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
Не могу я щас тестить, неначем, надо еще кого нить привлечь.
Я с сокетами мало работал, может Эйч чего и углядел, вот и лыбится :).

Magnus
...
Рейтинг: 0 / 0
12.04.2005, 21:59
    #33012022
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
Магнус, лапчонок.... я ведь не гоню тебя типа кровь из ноздрей.
Чайку попей.. то да сё.. Но сильно не затягивай это дело.

Коту2 привет! Нашел я родной CD под материнку и все встало.
...
Рейтинг: 0 / 0
12.04.2005, 22:21
    #33012041
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
Я блин на работе исчо, тут и чайку то нифига нету и сервака локального нету. И дома тоже нету пока, я недавно форматил все нафиг, сервак еще не поставил, студию тоже.
Может позже че нить придумаю. Тебе на когда надо?


Magnus
...
Рейтинг: 0 / 0
12.04.2005, 22:56
    #33012077
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
> Тебе на когда надо?

Да "на" в любой момент, в принципе.

ЗЫ
Не, блин. Как бы там ни было, но я теперь ясно вижу: МАГНУС23 - ГЕНИЙ.

ЗЗЫ
До эйча ему еще, конечно, пока далеко. Но это дело поправимое.
А чего, кстати, эйч брезгует твой код протестить?
...
Рейтинг: 0 / 0
13.04.2005, 11:52
    #33012852
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
> А чего, кстати, эйч брезгует твой код протестить?

Не обязательно именно эйч. Подойдет и любой другой реальный шарпист.
Ждем-с. Мы ждать умеем.

Рыт II. Период Великого Подрытия Устоев, день Унь месяца Кха.
...
Рейтинг: 0 / 0
14.04.2005, 11:44
    #33015359
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
1.
Без with nowait s raiserrors работают прекрасно. В смысле,
ничего не подвешивают.
2.
И с with nowait s тоже работают, НО только, если такой raiserror
один на отдельный батч. Иначе VB скрипт зависает.
3.
ВОПРОС: почему же тогда VB скрипт (ADO) работает без проблем и в этом
случае, НО только, если натравить его на правильный порт (1433), минуя
сокеты?


Этот скрипт работает как надо (через два сокета);
если откомментить кусок в первом cn.Execute, то зависает......
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")

cn.Open _
"Provider=sqloledb;Data Source=127.0.0.1,1434;" & _
"Network Library=DBMSSOCN;Initial Catalog=pubs;" & _
"User ID=qwe;Password=asdasd;"

cn.Execute _
"set nocount on; select top 1 * from authors;" & _
"waitfor delay '000:00:05'; raiserror ('AAA',10,1) with nowait;" & _
"----declare @i int; set @i=31415926; select @i;" & _
"----waitfor delay '000:00:05'; raiserror ('BBB',10,1) with nowait;"

cn.Execute _
"declare @i int; set @i=31415926; select @i;" & _
"waitfor delay '000:00:05'; raiserror ('BBB',10,1) with nowait;"

rs = cn.Execute("select top 1 * from titles;")
MsgBox rs( 2 )
cn.Close
Set rs = Nothing: Set cn = Nothing
MsgBox "END"

Запись перехвата (ес-но, перехваченные данные можно "портить" на лету):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
VB_SCRIPT:
 )             я  В    Р  


SQLSERVER:
 %             я  В   


VB_SCRIPT:
 в   Ъ      q      t      а €яяя  V  X  ^  j ! ¬      
И  Т   Т  L TЇS    Ъ   W q w e іҐ’ҐгҐіҐ’ҐгҐM i c r o s o f t
   ( r )   W i n d o w s   S c r i p t   H o s t  1   2   7  .  0  .  0  
.  1  ,  1   4   3   4  O L E D B p u b s 


SQLSERVER:
U  3  г p u b s m a s t e r «T E   # C h a n g e d   d a
 t a b a s e   c o n t e x t   t o   ' p u b s ' . W    г 
Р   г 
u s _ e n g l i s h  «\ G    C h a n g e d   l a n g u a g e 
  s e t t i n g   t o   u s _ e n g l i s h . W    ­ 6    M i
 c r o s o f t   S Q L   S e r v e r       Вг  4   0   9   6   4   0   9 
  6  э        


VB_SCRIPT:
В   s e t   n o c o u n t   o n ;   s e l e c t   t o p    1  
  *   f r o m   a u t h o r s ; w a i t f o r   d e l a y   ' 0
 0 0 : 0 0 : 0 5 ' ;   r a i s e r r o r   ( ' A A A ' ,  1   0  ,  1  )
   w i t h   n o w a i t ; - - - - - d e c l a r e   @ i   i n t ;
   s e t   @ i =  3   1   4   1   5   9   2   6  ;   s e l e c t   @ i ; - - - - -
 w a i t f o r   d e l a y   ' 0 0 0 : 0 0 : 0 5 ' ;   r a i s e r
 r o r   ( ' B B B ' ,  1   0  ,  1  )   w i t h   n o w a i t ; 


SQLSERVER:
s  3  э №     Ѓ	  § Р  a u _ i d    §( Р  a u _
 l n a m e    § Р  a u _ f n a m e    Ї Р  p h o n e   
	 §( Р  a d d r e s s   	 § Р  c i t y   	 
Ї Р  s t a t e   	 Ї Р  z i p     2 c o n t r a c t С  17 
 2 - 32 - 1176  White Johnson  408   496 - 7223   10932  Bigge Rd.
 Menlo Park CA  94025 э Б    э у     « PГ    A A A W   э  ц     


VB_SCRIPT:
 Ъ   d e c l a r e   @ i   i n t ;   s e t   @ i =  3   1   4   1   5   9   2   6  ;
   s e l e c t   @ i ; w a i t f o r   d e l a y  ' 0 0 0 : 0 0 : 0 5 '
 ;  r a i s e r r o r   ( ' B B B ' ,  1   0  ,  1  ) w i t h   n o w a i t ; 


SQLSERVER:
 S  3  э Б    Ѓ    & Сv^Яэ Б    э у     « PГ    B B B W
   э  ц     


VB_SCRIPT:
 >   s e l e c t   t o p    1    *   f r o m   t i t l e s ; 


SQLSERVER:
В  3  Ѓ
  § Р  t i t l e _ i d    §P Р  t i t l e    Ї Р  t y
 p e   	 Ї Р  p u b _ i d   	 np r i c e   	 na
 d v a n c e   	 &r o y a l t y   	 &	y t d _ s a l e s   	
 §И Р  n o t e s    =p u b d a t e С BU1032# The Busy Executive's
 Database Guide business      1389     Ь     Ђръ
   я  e An overview of available database systems with emphasis on 
common business applications. Illustrated.w‚      э  Б 
...
Рейтинг: 0 / 0
14.04.2005, 19:06
    #33016945
DarkCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
многа букв. пачти все - неизвестные

/нечетабельно/

...
Рейтинг: 0 / 0
14.04.2005, 19:22
    #33016972
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
A ты не читай, потести и выложи такие же.

Magnus
...
Рейтинг: 0 / 0
14.04.2005, 20:27
    #33017042
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
> И с with nowaits тоже работают, НО только, если такой raiserror
> один на отдельный батч. Иначе VB скрипт зависает.

Прямо сейчас наверняка не скажу, но думаю, что он д.б. не просто
один на весь батч, но и должен стоять в самом конце этого батча.
Правда, в этом случае довесок with nowait выглядит дебильски.

Кстати, Магнусевич, согласись, что все это напоминает дурацкое
поведение (в VB) события _InfoMessage(), когда ловится только 1-ый
raiserror ... with nowait. Но в чем здесь соль и прикол я уловить не могу.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Option Explicit
Private WithEvents c As ADODB.Connection

Private Sub Кнопка0_Click()
Set c = New ADODB.Connection
c.Open "provider=sqloledb;data source=***;initial catalog=***;" & _
"user id=sa;password=***;"
c.Execute "set nocount on;" & _
"raiserror ('AAA',1,1) with nowait; waitfor delay '000:00:05';" & _
"raiserror ('BBB',1,1) with nowait; waitfor delay '000:00:05';" & _
"raiserror ('CCC',1,1) with nowait;"
c.Close
Set c = Nothing
MsgBox "END"
End Sub

Private Sub c_InfoMessage(ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, ByVal pConnection As ADODB.Connection)
MsgBox pError.Description
End Sub
...
Рейтинг: 0 / 0
15.04.2005, 16:40
    #33018667
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
Магнусяй, чего затаился? Когда результаты теста представишь?
*** *** ***
Господа, это н.е.с.е.р.ь.е.з.н.о. Вы что, сговорились?
Если так, то сегодня же вечером выложу свои логин и пароль
для растерзания негодниками. Угроза нешуточная, а реальная.

PS
П02, будь начеку! Мало ли чего.
...
Рейтинг: 0 / 0
15.04.2005, 16:42
    #33018672
Программизд 02
Администратор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
RT

Ты чего это? Такие задачки щёлкал как пасатижами, а с сокетами программку написать не можешь?
...
Рейтинг: 0 / 0
15.04.2005, 17:21
    #33018791
Magnus23
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
RatTail,
епта, напомоинает. И очень сильно, похоже та самая хрень. Я над ней долго бился, еще на ГФ тред замутил с обсуждением. Так ничего толком и не решили, я тогда на
SQLDMO переключился, с ним все прокатывало на ура.
Ты чем слушаешь вообще? Говорю ж, нема сервка у меня локального на работе. А дома пока непоставил, времени нету, устаю как скотина. Может на выходных доберусь.
А ты тоже нашел где запостить, в треп давно уже не ходят за задачками, кинь в шарп ссылку на это дело.


Magnus
...
Рейтинг: 0 / 0
15.04.2005, 17:53
    #33018901
DarkCat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
...
Рейтинг: 0 / 0
15.04.2005, 20:06
    #33019106
RatTail
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Эйчаре; П02-му; Коту2;
П02,
будь добр, не выводи меня из себя. Или прочитай внимательно мои
вопрос и просьбу по сабжу или не выводи. К DranKot'у это тоже относится. :)

Магн.,
питоном слушаю http://www.python.org/2.4.1/ правда, у меня пред. версия:
Python 2.3.4 (#53, May 25 2004, 21:17:02) [MSC v.1200 32 bit (Intel)] on win32
Хотя я тебя знаю; первым делом игры дебильские на свою машину поставишь.
Ждем-с. :(
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Эйчаре; П02-му; Коту2; / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]