ネットワークプログラミング相談室 Port30 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
主にソケットに関しての質疑応答スレッドです。
Programming UNIX Socket FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/sock-faq/indexj.html
Winsock Programmer's FAQ (日本語訳)
http://www.kt.rim.or.jp/~ksk/wskfaq-ja/
関連リンクは>>2-10辺り
足りなかったら適当に付け足してね
前スレ
ネットワークプログラミング相談室 Port28
http://toro.2ch.net/test/read.cgi/tech/1334736934/
ネットワークプログラミング相談室 Port29
http://peace.2ch.net/test/read.cgi/tech/1351670708/
関連スレ
ネットワークプログラミング雑談
http://toro.2ch.net/test/read.cgi/tech/1235800707/ すまん、>>1 で Port28 を消し忘れた
過去スレ:
Port29 ttp://peace.2ch.net/test/read.cgi/tech/1351670708/
Port28 ttp://toro.2ch.net/test/read.cgi/tech/1334736934/
Port27 ttp://toro.2ch.net/test/read.cgi/tech/1293284816/
Port26 ttp://hibari.2ch.net/test/read.cgi/tech/1269343909/
Port25 ttp://pc12.2ch.net/test/read.cgi/tech/1255459388/
Port24 ttp://pc12.2ch.net/test/read.cgi/tech/1246895188/
Port23 ttp://pc12.2ch.net/test/read.cgi/tech/1230466044/
Port22 ttp://pc11.2ch.net/test/read.cgi/tech/1222603744/
Port21 ttp://pc11.2ch.net/test/read.cgi/tech/1204287577/
Port20 ttp://pc11.2ch.net/test/read.cgi/tech/1186418855/
Port19 ttp://pc10.2ch.net/test/read.cgi/tech/1159692799/
Port18 ttp://pc11.2ch.net/test/read.cgi/tech/1171029896/
Port17 ttp://pc8.2ch.net/test/read.cgi/tech/1148944560/
Port16 ttp://pc8.2ch.net/test/read.cgi/tech/1136005644/
Port15 ttp://pc8.2ch.net/test/read.cgi/tech/1128088448/
Port14 ttp://pc8.2ch.net/test/read.cgi/tech/1118469143/
Port13 ttp://pc8.2ch.net/test/read.cgi/tech/1109793931/
Port12 ttp://pc5.2ch.net/test/read.cgi/tech/1102427855/
Port11 ttp://pc5.2ch.net/test/read.cgi/tech/1096187183/
Port10 ttp://pc5.2ch.net/test/read.cgi/tech/1090385857/
Port9 ttp://pc5.2ch.net/test/read.cgi/tech/1080658835/
Port8 ttp://pc5.2ch.net/test/read.cgi/tech/1073560271/
Port7 ttp://pc5.2ch.net/test/read.cgi/tech/1063035045/ ★行方不明
Port6 http://pc5.2ch.net/tech/kako/1052/10521/1052106444.html
Port5 http://pc2.2ch.net/tech/kako/1040/10402/1040220302.html
Port4 http://pc3.2ch.net/tech/kako/1034/10342/1034236536.html
Port3 http://pc3.2ch.net/tech/kako/1023/10233/1023359282.html
Port2 http://pc.2ch.net/tech/kako/1006/10062/1006258198.html
Port1 http://pc.2ch.net/tech/kako/970/970344582.html ノ ゚.ノヽ , /} ...
,,イ`" 、-' `;_' ' ..::::::::::::::...
,-、 _.._ ( (,(~ヽ'~ ..:::::::::::::::::::::::
)'~ レー' 〉 ヽ i`'} .:::::::::::::::::::::::
~つ '-ー、 i | i' ...:::::::::::::::::::::::
/ < / 。/ ! ......::::::::::::::::::::::::: これは>>1乙じゃなくて
/ ~^´ /},-'' ,●::::::::::::::::::::::::::::::::::::
i、 ,i' _,,...,-‐-、/ i :::::::: .:::::::::::::
..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら
) {~''~>`v-''`ー゙`'~ ..::::::::: ........::.
{ レ_ノ ..::::::::. ......:::::::::
ノ '' ..::::::: ...::.:...:::::::::
.::::::::: ...:......:::::::::::: .
.:::::::::::. ..... .. ..:::::::::::::::::::::::: :::.
::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::..
.:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::.
::::::::::::::::: :::::::::::::::::::::::::::::: :::::
.:: ::. ::: NFCに関するプログラミングの相談ですが、ここで良いでしょうか?
他に適切なスレがあるようでしたら誘導をお願いします。
Windows8からNFCが標準でサポートされるようになり
Windows.winmdを使ってNFCにアクセスできるようになりましたが
FelicaのIDmを取得するようなサンプルを探しても見つかりません
Sonyが提供しているFelicaライブラリなどを使わないとダメなのでしょうか? IDmあたりならWinSCard.dllなどで探した方がサンプル多いんじゃないかな >>11
PC/SCを使ったサンプルがあったのでそちらで実装しました
対応していない古いデバイスだとNGですが
今回の動作環境が比較的新しかったので問題なく動きました 22:00 -(24:30)28:30
たまやー! 2-2 基本的な質問で申し訳ないですが何故プロキシを使って書きこむと
プロキシって分かるんでしょうか?サーバーはIPアドレスとMACアドレス
だけを識別してると思うのですが、何故プロキシだと分かるのか分りません。
公開プロキシだと公開されてるので判別できると思いますが、一般的なプロキシ
は何故ばれるんでしょうか? >>15
俺はプロキシだ!っていちいち名乗るからです。 >>15
状況がちっともわからんがHTTPでも勉強してね >>15
HTTPヘッダで判断するのが基本だけど、ポートを叩いてみてproxyと判断するとこもある。2chもやってなかったっけ。 C言語でネットワークプログラミングを勉強しているのですが質問があります。
RAWソケットを使って流れているパケットを読み取る事はできるのですが流れているパケットを書き換えるって事は可能なのでしょうか?
パケットダンプを解説してるサイトはたくさんありますが全部そこで終わってるのでそういう事はできないのでしょうか >>19
パケットを盗み見てダンプすることと、
書き換えて転送することはまるで違う。
自分がブリッジとしてネットワークに割って入るなら書き換えは可能。 OSにもよるんじゃないの
Linuxだとブリッジじゃなくても書き換える方法があると思った ブリッジしないと無理だとおもうよ〜専用ハードを作ったらうれるだろうか? >>22
ブリッジやゲートウェイじゃなかったら、元のパケットはどうやって遮断するの? >>23
転送容量が100Gbpsくらいあるハードつくれば
結構売れると思うよ。 >>24
「RAWソケットで」という条件付なら無理だけど
パケットを操作するためのシステムインターフェースは存在するでしょって事
カーネルモジュール作る必要あるだろうけど
極端な話、ネットワークドライバでやれば何でも出来るわけだし >極端な話、ネットワークドライバでやれば何でも出来るわけだし
ふむ、ネットワークドライバをpromiscusで動かせば、
誰かが投げた誰か宛のパケットを盗み見るどころか、
消したり書き換えたり自在なのか。
世紀の大発見だね。 >>27
ネットワークドライバを特定の目的向けに書き換えることを言ってるんだよ
そうすれば自分のインターフェースに入ってきたパケットなら
消すことも書き換えることも出来るし、存在しないパケットを生成する事だって何でも出来る
当たり前のことを言ってるだけだ
特にLinuxとかならドライバのソースが公開されていることが多いから、やる気にさえなればそんなに大変なことじゃないよ >>28
そうですか。わかりましたので独り言は他所でやってください。 >>29
ブリッジじゃなきゃ出来ないというのを否定されたからってそんな反応しなくても
そもそもブリッジにしたって同じ問題があるだろ。RAWソケットじゃ出来ない
ネットワークドライバ書き換えは極端な話として書いただけで、そこまでしなくても方法はあるよ
iptablesとかがやってることだし >>30
bpfでもpcapでもいいのに、ドライバ書き換えるとか言い出すバカは
相手にできないということですよ? >>30
それと
>ブリッジじゃなきゃ出来ないというのを否定
否定したつもりなんですか?
ブリッジじゃないとできませんよ。
究極のおバカさんですか? Thunderbirdってメールアドレスとパスワードを入れるだけで
メールを送受信できるようになるじゃないですか。
ユーザー名は@前から取得してるんだと思うのですが、
送受信に使うサーバー名はどうやって取得してるのでしょうか?
JavaMailを使ってメールクライアントを作っていて、
現状サーバー名・ユーザー名・パスワードを指定して認証する形になっています。
もしメールアドレスとパスワードだけで設定ができたら設定する側が楽になっていいのではと思っているのですが、
どうやったらメールアドレスとパスワードの情報を元にメールの送受信ができるようになるでしょうか? >>37
>正攻法ならMXレコード引けば
リンク参考になりました。
dnsjavaでMXレコードが使えるそうなのでやってみます。
回答ありがとうございます。 成功率をどれくらい期待してるかによるけど、
それなりに高いならみんなやってるよな。
ちなみにthunderbird はデータベース使ってるし、うちの自鯖は別になんのひねりもないのに失敗するぞ。 >>19
乗っ取り合い相手が同じセグメントにあるなら
proxy-arp が古典的な方法 初心者なのですが質問させてください
Linux上でTCPを使ったプログラムをc/c++で作っているのですが、sendとrecvのバイト数が合いません
・sendで整数3つ分(12bytes)を送信
・readで何故か28bytesを受信
と言うように余分に受け取ってしまうのです。
これは何故でしょうか? ・12バイトしか送信してないつもりだけど実際には28バイト送っていた
・28バイト受信したと思ったけど実際には12バイトしか受信していない
・違う相手に送信したり違う相手から受信したりしている
・通信回線の途中にいる誰かがパケットの中身を書き換えている
のどれか
俺は2番目の可能性が高いと思うがどうだろう
sendやrecvの戻り値はきちんと確認しているか >>44
どうも1番目のようでした。有難う御座いました。
通信の区切りをバイト数で切っていたつもりが、次の送信分まで読み取っていたみたいです。
通信の区切りは何を基準にやるのが良いのでしょうか・・・ 余分に読み取ったデータを捨てずに残しておいて次の処理に回せばいい 素人さんにもわかりやすい例で言えばhttpの成功があるじゃないか。 httpが成功したのは1リクエスト、1レスポンスのシンプルさじゃないのか。今となっては酷いものだが。 メールアドレスの@以降を使ってAレコードを引いて
NullPointerExceptionが返ってきた場合、
代わりに何を調べればよいのでしょうか?
大学のメールアドレスの場合Aレコードで受信サーバーのIPが得られたんですけど、
i.softbank.jpの場合NullPointerExceptionとなってしまいました。
また、ためしにsoftbank.jpをやってみたら複数のIPが得られたんですけど、
この場合はどのIPでもよいのでしょうか?
それとも@前によってどのIPか決まっていたりするのでしょうか? ちゃんと勉強してからやれ。その程度の知識じゃあ周りに迷惑かける。 メールアドレスならMXレコード引かなきゃダメじゃね?
Aレコードがある保証無くね? digとかnslookupでなくて、いきなりプログラミングしてる時点でお察しください。 >>53
MXレコードとかAレコードとか今回初めて知りました。
正直メール関連に限らずネットワークの知識はあまりないです。
メールクライアント作ろうとしている知り合いがいて、
私も興味を持ってその人とは別に自分なりにやって
たまにその人が作るのを手伝ってみてる感じです。
ちなみに、その人は私よりネットワークやプログラミングの知識がないです。
Thunderbirdはデータベース使っているらしいですけど、
メールアドレスとパスワードで送受信の設定ができたら楽だと思いまして。
その人には以前
「MXレコードを引けば@以下から受信サーバー名わかるらしいよ。
けど私もぜんぜんわかってないし、まずクライアントできてからだね。
こういうこともできたらいいなくらいな感じかな。」
なんてことを言ってました。
一応受信サーバー名とユーザー名とパスワードを使ってメールを受信したりすることはできてます。
>>54
MXレコード引いて出るのはName Server名ですよね?
それ出しても利用方法がわからす、
「mxレコード メール」で調べてみたところ
メールアドレスはAレコードかAAAAレコードに情報があるとか見て、
ためしに引いてみたら>>52の通りでした。
AAAAレコードはどれもNullPointerExceptionでした。
pingで調べてみたら大学のアドレスの場合
ドメインのIPと送受信サーバー(送信も受信もサーバー名が同じです)のIPが同じでした。
Aレコードがうまく行ったのもこれのためなのかもしれませんね。
>>55
digやnslookupは知りませんでした。
そもそもあまりコマンド知らないもので。
すいません。 ネットワークだけでなく普通のプログラミングも怪しいから
やめとくのがいい やめさせるなんてとんでもない
こういう隙だらけのサーバがいるからこそ
楽しいんじゃないか 対応表でもない限り@以降から受信サーバーの情報は取ってこれないようなのであきらめます。
いろいろありがとうございました。 TCPって1バイト未満のデータが届いたときは1バイト以上のデータが届くまで待ってSocketに現す? TCPはsequence numberで送受信の制御を行う
sequence numberは1バイト送れば1進むというもので、1バイト未満の送受信というものはない じゃあ各Socketの末端に現れるのは完全に1バイト単位ってことでおk? 君は軽佻浮薄だな
>>65に書いてあるのはウソかもわからんぞ
ちゃんとRFCを読みたまえ >1バイト未満のデータ
ゆとりか、ナイーブかつユニークな発想の持ち主ではあるが パケット単位で開封されるから半端ビットってものが存在しないのか 量子通信の絡みで半ビット対策が議論されてるけど、有効な手段はないようです。
結局パリティビット(パリティに偽の半ビットが埋まっていても訂正はこれで足りる)
に頼る方向になるようです。 >>72
なにがそんなに楽しいのか・・・
通信関係の低レイヤやったら半ビットなんて当たり前に出てくる単語だぞ? >>74
ネットワークプログラミングの話しかでてないような…? >>75
だからどの規格で、参照実装はなにで、プログラミング言語はなんなんだよwww >>72
RFCに入るには10年くらいかかるか、あるいは入らないかもしれませんね。
この分野はサムソンの動向次第だと思います。
サムソンの考えによっては、RFC自体が尊重されないようになるかもしれません。
その場合、サムソンがRFCに代わる規格を発行するようになるのでしょう。 「半ビット対策」でググってもヒット0件だったので何の話だかわけがわからんけど、どこらへんの分野の話なの?
で、なんでサムソン主導で話が進んでるの? 量子通信でググっても、Wikipediaで
> 量子ネットワーク(りょうしネットワーク)は、量子暗号技術から発展してきた通信ネットワークである。
> 量子テレポーテーション実験における成功の後、量子通信を行うためのネットワークという概念が提唱された。
とあるけど何のことやら。
一般のプログラミングに関係あるの? RS232Cの ストップビット1.5 とは無関係な話? ハーフビットの概念が理解できない奴が騒いでるだけだから
まともに相手しなくていいよ ネットワークプログラムで半ビットとか出てこなくね? ネットワークときいてRFCの範囲しか思いつかない奴が何人かいるね 誰か>>87の友達ネットワーク構築計画の相談に乗ってやれよ。 1バイト未満のデータがどうたらこうたらの話だったのに、
いつの間にか謎の半ビットの話になっていたでござる 量子通信しってまーす、そりゃよかったね、ちゃんちゃん 普通にスレ読めば、TCPで1バイト未満の送信があるかというのが量子通信がどうのとなってる
一番の元凶は>>71がTCPの話もまともにできないのに、本人に興味があったからかなんだか知らないが、
量子通信とか持ちだしたから オクテット単位未満をサポートする通信規格なんて存在するの? ■ このスレッドは過去ログ倉庫に格納されています