MSNメッセンジャーのクライアント作った人いる?

このエントリーをはてなブックマークに追加
326デフォルトの名無しさん
ファイルの送受信はアレだよね。
ヘッダ部分で送るIPを書き換えればNATの内側からでもOKだよね??
>>326
そう単純な問題でもなさそうな・・・
328デフォルトの名無しさん:02/02/15 21:18
>>326,327
んにゃ、かなり単純。
IPアドレスの部分をNATのグローバル側に書き換えて、
NAT側でそのポートの待ちうけを設定してやれば大丈夫。
NATの設定もな。



>>328
LAN内に複数のマシンがある時はどうしますですか??
330デフォルトの名無しさん:02/02/17 12:46
>>329
LAN内複数いてるというか、Port6891のNATの設定が必要なんで、
グローバルが一つしかないなら一台しか対応できないよ。

331デフォルトの名無しさん:02/02/17 17:07
>>330
そんなことはないよ。
うちの環境では、ルーターのポートフォワードを

6891 -> Aマシンの6891
26891 -> Bマシンの6891

に設定して、
自作DLLでIP,ポート番号書き換え送信する方法で
動いてるよ。
332デフォルトの名無しさん:02/02/17 17:57
FTPとかIRCはIPマスカレードのときにプロトコルの内容(ポート番号)
を書き換えて解決してると思うのだがメッセンジャー用のそれは
ないのかな
333デフォルトの名無しさん:02/02/17 21:08
>332
それをやってくれるのが、UPnP対応NAPTだと思う。
334デフォルトの名無しさん:02/02/18 03:45
>>333
多分、違うよ。

UPnPのNAPTはルータの外側のアドレスやポートのマッピング状態を取得したり、
ポートのマッピングを変更したりできるんだよ。

つまり、Messangerの方がIPとかポートを変えて送信するんたよ。

>>331
オレは330じゃないけど、意味がわからん。
335331:02/02/18 07:23
>>334
Messanger のファイル送信の手順から説明しないと
いけないのかなぁ。

α から β にファイル送信するとき
α は β に対して、αの自IPと待ち受けのポート番号を送信する訳だけど
その通信を
IPをローカルIPからグローバルIPに書き換えて
Aのマシンではポート番号の部分はそのまま
Bのマシンではポート番号の部分を26981に書き換えて送信
すれば、両方のマシンで共存できるっていう意味なんだけど。
336デフォルトの名無しさん:02/02/18 12:06
>>334
あっポート番号も送信してるんだ。納得。
337:02/02/21 12:10
>>331
>自作DLLでIP,ポート番号書き換え送信する方法で
>動いてるよ。

うわ、このMessenger用自作DLLは公開してますか?
あと、音声チャットやビデオチャットに応用できますか?
MSN Messengerからの自IP問い合わせに、
自作DLLが嘘IPアドレス(ルーターのグローバルアドレス)
を返すか、SIPの問い合わせに嘘IPアドレスを返せば音声チャットも
ルーター内からできると思うです。
338デフォルトの名無しさん:02/02/22 11:12
期待age
339じゃヴぁ2ヶ月:02/02/22 21:35
じゃヴぁは結構簡単かも。Loginまでなら簡単にできたよ。
偽メッセンジャーの通信ログ機能がなかったら漏れじゃ絶対無理だったけど。
340331:02/02/23 01:39
>>337

>うわ、このMessenger用自作DLLは公開してますか?

仲間内にちょっと配った程度で、公開はしてないです。
かちゅーしゃの kage を参考にしてちょっといじった程度です。

>あと、音声チャットやビデオチャットに応用できますか?

詳しく調べたわけではないので、もしかしたら間違ってるかもしれませんが、
どうも待ち受けのポートがころころ変わるみたいで、
範囲指定でフォワード出来ないルーターだと無理なのかなぁって印象でした。
341デフォルトの名無しさん:02/02/24 03:34
>>340
糞hotmailアカウント適当に1つ取るのでそこにそのDLL送ってもらえませんか?
>>340
私も( ゚д゚)ホスィ・・・です
343デフォルトの名無しさん:02/02/24 11:34
まだ、ファイル送信とNetmeeting連携は実装されないのかなぁ。
要望の出てない機能は随分実装されたみたいだけど。
是非お願いします。
344デフォルトの名無しさん:02/02/24 12:16
どこかにJava版のソース無いの?
マカー用を作りたい。
しかし、時間がない。

346デフォルトの名無しさん:02/02/24 14:21
>>345
おぉ〜すばらしい。待ち遠しくて夜も寝られません。
347DLL希望:02/02/25 10:38
>>340
DLL下さい。しばらくしたらこのアカウントのパスワードも公開します。
DLLはガセですので・・・
349331:02/02/25 12:43
>>347

一応、送信しました。
350347:02/02/25 14:51
ありがとうございます。ホスィ方が他にもいるのでパスワード公開しようと思うのですが
331さんのアカウントがばれてしまいますがよろしいですか?
351347:02/02/25 14:52
sage忘れた。。。
352Socket774:02/02/25 15:26
>350
331さんのDLLを添付したメールを自分で自分に送って、
331さんからのメールを削除してから公開すればいいんじゃないかと。
なるほど。
DLLにウィルスがいるみたいなんですが、どうしたらよいでしょうか?
アカウント
[email protected]
パスワード
channel
秘密の質問
itteyoshi
秘密の答え
omaemona
です。
356337:02/02/25 16:37
>>340
>範囲指定でフォワード出来ないルーターだと無理なのかなぁって印象でした。

簡易DMZ設定のできるルーターならOKかな?
357Socket774:02/02/25 16:52
>354
(゚д゚)ハァ?
358デフォルトの名無しさん:02/02/25 17:14
>>357
ノートンアンチウィルスが警告を出すのですが。
359Socket774:02/02/25 17:28
ウイルスバスターのオンラインスキャンでは出なかったぞ。
ノートンのオンラインスキャンはディレクトリを選べないからやってない。
それに、添付ファイルのダウンロードのときにMcfeeもスキャンしてくれてるだろ?
中継処理をするからノートンには不正に思えるのかも知れんな。
タコだからわからん。100 %保証はしないが安全だと思うぞ。
誰か使ってない?
360331:02/02/25 17:29
>>356
そうですねぇ。それだけのために一旦DMZ設定するのも
面倒と言えば面倒といった感じですが。

>>358
ノートンで確かめたわけではないので何ともいえないですが、
DLL自体は、メッセンジャーの通信の一部を書き換えて送信する訳で、
動作的にはメール感染型のウィルスのそれと大差無いとも言えるので
警告が出ても不思議じゃないと思います。
心配であれば使わない方が無難です。

やはりこの手のものは、ソース配布の方が良いんだろうなぁ。
361Socket774:02/02/25 17:37
>331
お、作者様の見解だ。
偽メッセ作者と連携して、NAT環境下でのファイル送受信実現キボン


                   と言ってみるテスト。。。。
362 :02/02/25 17:51
0.4.0βage
363337:02/02/25 18:42
>>360

もしかして、今のままのファイル転送支援DLLで、
メッセンジャーに音声チャットでもIPアドレスを騙せますか?

ここのIP報告ページを読みとって使えば、
グローバルアドレスの自動設定化もできますね。
http://www.dyndns.org/cgi-bin/check_ip.cgi
364デフォルトの名無しさん:02/02/25 18:46
音声チャットだけではなくて
映像も遅れると良いのだけど。
365デフォルトの名無しさん:02/02/25 18:58
>>331
wsock32のラッパーってどうやって雛形おこしてますか?
私はMdn-Wrapperを流用したりしてますが、何かツールとかあるんですかね?
366デフォルトの名無しさん:02/02/25 18:59
>>363
とりあえず、ホスト名からIP引いてくれるようにしてくれれば、DyamicDNS使ってればOKだよね。
367331:02/02/25 20:17
>>361
連携と言っても、大した事してるわけではないので、
偽メッセでもここら辺は簡単に実装できるレベルだと思います。

>>365

>>340に少し書きましたが、kage の旧バージョン(11月当時はwsockだった)のを
参考にしてます。
なので、当時win98で動かすと不具合があるという話があったので、
もしかすると同じような不具合がでるのかも・・・。

>>363
>>197を見る限りでは、音声チャットの時も多分、
IPは書き換えて送信してると思います。

>>366
DLLの方ですが、DynamicDNSを使えば設定ファイルに
IP=2ch.example.net
などとドメイン書けば、一々設定変更しなくて済むみたいです。
368365:02/02/26 15:05
あっ、Kageを参考にしてたんですか。
今ちょっと思い出したのですが、kage関連のページになんかツールかなんかおいてませんでしたっけ・・
探したけど見つからない・・
>>355
落としてみたけどこれでいいのかな

Name CRC32 Bytes
----------- -------- ------
msmext.ini BFF92852 37
Readme.txt A363C4DD 1,222
wsock32.dll F367ABEE 32,768

rarutyで吐き出したんだけど。
370331:02/02/27 02:18
>>368
ツール・・・何だろう。

>>369
RarutyでCRC吐いてみましたが同じ結果でした。

Name CRC32 Bytes
----------- -------- ------
msmext.ini BFF92852 37
Readme.txt A363C4DD 1,222
wsock32.dll F367ABEE 32,768
-----------------------------
Total 3 Files 34,027 Bytes
371デフォルトの名無しさん:02/02/27 02:25
落としてみた人の実際の動作報告を求む
372デフォルトの名無しさん:02/02/27 13:47
イーアクセスのTE4121Cで、NAT環境下で上のDLLを入れてみました。

LAN側のうち1台しかメッセは使っていないので
iniのポートは6891のままで、ルーターの設定はNATアドレス変換設定で
6891-6901をその1台に通すようにしましたが、残念ながら上手くいきませんでした。
373369:02/02/27 15:54
>>331
CRC吐きわざわざありがとうございます。

使ってみました。Win98SE、MSN Mesenger 3.6(古いの)で、
ルーターはDMZとUDPの6901->6901です
設定ファイルはそのままで、IPアドレスは直接入れました。

これでファイル送受信できました。
音声チャットができるかやってみたんですが、ルーター内->ルーター外
に声は通りますが、逆は無理なようです。

音声チャットはUDPの6901ポートを使っていて、ファイアーウォールのログを見ると、たしかにPCまで届いているようでした。
MSNメッセンジャーが自分宛てのじゃない、と考えて破棄してしまったんでしょうか。

374デフォルトの名無しさん:02/02/27 16:28
375331:02/02/28 04:02
>>372
6891-6901 ではなくて、6891-6891 じゃ駄目でしょうか?
メッセンジャー自体は6891で固定なので。

>>373
音声チャットについては、時間があったら見てみたいところですね。
一応、旧kageと同じで wsockspy.log の空ファイル同じディレクトリに
置く事で通信ログが取れるので、どうなってるか見てみるのも
一つの手だと思います。
376デフォルトの名無しさん:02/02/28 15:25
こんなのハケーン
http://www.adamswann.com/library/2002/msn-perl/

Perlで書かれた MSN Messengerのクライアントライブラリだってさ。
377デフォルトの名無しさん:02/02/28 15:29
このファイル転送ソフト、理屈でいえば
送信側がNATルータ付きADSLで、受信側がCATV(プライベートIP)でも送れるってことですよね?
378デフォルトの名無しさん:02/02/28 20:07
上のDLL試してみましたが、うまく動作しませんでした。
環境は
Windows Messenger 4.6.0076 + Plus! Extension 1.42
です。
DLLはちゃんと読み込んでいる様ですが、パケットダンプして調べてみたところIPが書き換えられていませんでした。
iniファイルは添付されていた物のIPを書き換えただけなので、設定に問題は無いと思います。
379デフォルトの名無しさん:02/03/01 01:38
dll結果報告
WindowsXP pro + Windows messenger4.6.0076 + フレッツ1.5 + ルータNetgenesisCATsW
でファイル転送できました(感謝)音声は×
380378:02/03/01 01:44
>>379
( ̄□ ̄;) 漏れと似た様な環境だ
う〜ん、Plus!やMSNアドオンが入ってるのが問題なんだろうか。
それとも根本的に何か勘違いしているのか。。。
381331:02/03/01 21:16
>>377
そうですね。
サーバーが立てられる状態なら、ファイル送信をすることは可能だと思います。

>>378
>IPが書き換えられていませんでした
ということは、考えられる原因としては、
IP-Address: ローカルIP
のIPの部分が、メッセンジャーの吐くものとDLLで取得したものとで
違ってしまってるのかなぁ・・・。
382372:02/03/03 22:09
ルーターの設定を色々変えてみましたが、やはりダメですね。
ネットで調べると結構出てくるんですがメッセンジャーが使用するポートは
UDPが2001-2121,6801 6891-6901で、TCPが6901、とのことです。
ファイルの送受信はポート6891から6900で音声はわかりません。
(6891だけでもいいが、その場合一度に送信できるファイルは1ファイルのみ)

面倒なのでとりあえず実験として1024-65535までの全てのポートを開放して
先のDLLを使用してみましたが、やはりダメでした。
383失敗した人:02/03/04 00:30
例のDLLでLOGをとってみました。

gethostname(ス9 +ヤ?, 260)
gethostbyname(main-notepc) = 001EB730
getsockname(0x594, 0013E4A4, 1303740)
WSAStartup(0x101,0013E45C) = 0
socket(0x2, 0x1, 0) = 0x648
htons(6891)
WSAAsyncSelect(0x648, 01431114, 0x428, 0x3b)
bind(0x648, 0013E5B8, 0x10)
listen(0x648, 2147483647)
inet_ntoa(285321408)
msmIP:こっちのグローバルなIPアドレス
msmPort:6891
gethostname( ル?, 255)
gethostbyname(main-notepc) = 001EB730
inet_ntoa(-2127517504)
old_str: IP-Address: 192.168.48.129
new_str: IP-Address: こっちのグローバルなIPアドレス
new_buf: MSG 115 U 244
MIME-Version: 1.0
Content-Type: text/x-msmsgsinvite; charset=UTF-8

Invitation-Command: ACCEPT
Invitation-Cookie: 87568998
IP-Address: 192.168.1.17
Port: 6891
AuthCookie: 99902792
Launch-Application: FALSE
Request-Data: IP-Address:


ン
new_str2: Port: 6891
***** send start *****
send(0x598, 0013D750, 0x103, 0)
MSG 115 U 244
MIME-Version: 1.0
Content-Type: text/x-msmsgsinvite; charset=UTF-8

Invitation-Command: ACCEPT
Invitation-Cookie: 87568998
IP-Address: 192.168.1.17
Port: 6891
AuthCookie: 99902792
Launch-Application: FALSE
Request-Data: IP-Address:


***** send end *****

っていう感じです。
384失敗した人:02/03/04 00:31
ちなみに、
ローカルなIPアドレスは192.168.1.17
main-notepc というのはこっちのパソコンのコンピューター名です。
385378:02/03/04 01:30
漏れもDLLのLOG取ってみたらmsmIPとかnew_strとかはちゃんとグローバルIPが書いてあった。
でもパケットダンプしてみるとIP-Address: 192.168.0.3って書いてある。。。
386331:02/03/04 04:48
>>383

うーん、
gethostbyname(main-notepc) で取った情報を
inet_ntoa してるところで、
192.168.48.129
が返ってしまってるんですね・・・。

メッセンジャーは 192.168.1.17 と判断してるのに
なんでだろう・・・。
387378:02/03/04 14:56
DLL動きました。
NICが2枚以上刺さっているとWAN側のNICのIPを取れない場合が有るようなので、
NICを刺すスロットを適当に替えてみたら成功しました。
ちょっと強引な対応ですが(汗
388JAVA版つくってみた:02/03/06 00:09
JAVA版のクローンつくってみました。
まだメッセージのやり取りしかできませんが、一応ちゃんと動いてます。
UNIX環境の方、使ってみませんか?(UNIXでの動作確認してませんが。。)

http://www15.u-page.so-net.ne.jp/jk9/masanori/
>>388
LINUXでも動いたYO。
機能が足りないのはしょうがないか、軽いし。
Javaも良いけど、Kylixで作りたいなぁ。
山ねこさん、ソース再公開熱くきぼんぬ。
390JAVA版つくってみた:02/03/07 00:03
>>389
LINUXでもうごきましたか。よかったよかった。

とりあえず、最低限必要な機能を実装して、その後に
オリジナリティ出そうかとおもってます。
391デフォルトの名無しさん:02/03/07 01:01
>>390
オレはC#で作ってるが・・・
まずはクラスライブラリとして充実させようと思ってる。
漏れはWin32APIで作ってるが・・・MD5と言うのが分からん。
とりあえずRFCは読んだけど、これこのままコンパイル通らん・・・。
>>392
暗号化のことじゃ…
394デフォルトの名無しさん:02/03/07 04:33
>>393
MD5は復号できるわけではないから暗号ではないな。
>>385
それはまた別の方法でIPアドレスを取得してるってことなのかな?
MSプロテクトとの戦いのような気もしてきた。
ファイル送信はできたけど、音声チャットは無理だった。
>>392
man md5sum
397デフォルトの名無しさん:02/03/07 13:22
>>396
manできる環境なんかもってないでしょ >>392は。

googleで検索すれ!!
392じゃないがVC++6.0でRFC1321のソース、コンパイル通ったYO。
mddriver.c の上のほうに
#define MD5 5
って書いておけばOK。
ところでなんで Step.2 Append Length の長さって左に3bitシフトすんの?
説明には書いてないがソースではシフトしてる…。
>>398
バイト数→ビット数変換ではないかと。
400398:02/03/10 15:35
ああそうか、なんで気付かなかったんだろ。
コメントにも Update number of bits って書いてあるし。

http://msnj.sourceforge.net/
ここに Java 用のライブラリがあった。
既出だったらスマソ。
401JAVA版つくってみた:02/03/10 21:55
>>400
そんな便利なものが落ちてたのか。JAVA版第一号だと思ってたのになぁ
>>401
いいとこ取りで、さらなる発展をきぼんぬ
403デフォルトの名無しさん:02/03/11 21:54
>>355
なんかいろいろ入ってるなぁ。。。
age
405デフォルトの名無しさん:02/03/13 00:18
age
msnjってのもあったのか...
私が見つけたのはjmsnってやつ。やっぱりsourceforgeもの
http://sourceforge.net/projects/jmsn/
407デフォルトの名無しさん:02/03/15 02:04
>>355にjavaのソース発見。入れるんなら公開しろよ。しかも未完かよ。。。
JDKにMD5のクラスらしきものを発見。java.security.MessageDigest なんだが、これってそうなのかな?
408デフォルトの名無しさん:02/03/15 22:34
>>406 のメッセンジャーが急につながらなくなったのですが、
こんな風になった人他にもいますか?

409JAVA版つくってみた:02/03/15 23:02
>>407
MD5の計算には、そのクラスを使いましたよ。
MSNメッセンジャーでは128ビットの値を使わないといけないんで、
java.math.BigInteger も使いますよ。
>>408
Javaメッセンジャーもつながらなくなったらしい。
偽メッセはつながってるなあ。
411DLLありがとうございます:02/03/18 20:36
ここにあったDLLのおかげでルーター内からのファイル転送できるようになりました。
イーアク8M+MegaBit Gear TE4121Cです。
いろいろ試してみたのですが、
まずポートはTCPで6891-6901を転送することで動きましたがUDPだけは駄目でした。
(iniのポート設定はデフォルトで・・・)
あと 受け取る方はなにもポートを空けてなくても送信することが出来ました。
このDLLの前は、いちいちブリッジモードに変えたりしてやっていたのですが
とても便利になりました。作者さんありがとうございます。