「tcp」を含む日記 RSS

はてなキーワード: tcpとは

2021-12-29

anond:20211229151139

昔は開発リソースが貧弱で共通プロトコルに乗っかることに意味があったけれども、

今はストアで落とした専用アプリが専用プロトコルサーバ通信していて、

wwwのようなtcpに毛が生えたプロトコルにそれほど期待されてない気がする

2021-12-01

anond:20211201231321

ブログ訪問者のIPを時々調べて特定したりしてるんだけど

TCP/HTTPTCP/HTTPS以外あるか?

2021-06-01

マンション独自配線なんていうインターネットはない

マンション独自配線なんていう変な名称はなくておそらくLAN配線のことを指してるんだろう

LAN配線にもいろいろあってスイッチ収容をどうするかとかアドレス設計をどうするかとかポイントはたくさんある

特にL1/L2/L3の設計ちゃんとやってくれる業者って稀でせいぜいL1/L2だけしか考えてない

そもそも大本NTTなりKDDIなりがL2までのことしか考えてないからそういうことになるんだけど

それでもその辺の関係業者設計に入ってくれればまだマシ

どこぞのしょぼい工務店とかがクソみたいな設計するとLAN配線もダメダメになる

特に低層の建物ヤバい

3階建てとかで1フロア5世帯、15世帯ぐらいだと16ポートスイッチ置いてその上にルーター置いてフレッツ繋いで終わりとか

VDSLとかPONとかって1回線を共有してるとはいえL2レベルちゃんとみんなで分割するんだけど

ただのスイッチルーターだけだとL2は共有なので帯域食った者勝ちになる

それでもただのインターネットやってるぐらいならTCPでおとなしく繋いでくれるけど

誰かがFPSゲームとかやり出したら地獄

FPSゲームとかUDPバカスカで遅延のない世界を目指してるからあっという間に帯域埋まる

あと無線LAN各自準備してくださいとかい状態になって2.4GHzは無事死亡

真ん中の家とか上下左右から2.4GHzで攻められるので1, 6, 11ch使っても被っちゃう

クソみたいなAPが3とか9とか使い出したらもう地獄

そもそも今の住居って普通の家庭でも

スマホ×家族分、PC×2台、スマートスピーカー×2台、テレビレコーダーFire Stick TViPad

とかで10接続とか当たり前

WiFiって低速に引きずられる仕様から電波状態悪いと一気にスループット下がる

まぁWiFiは5GHz使えばどうにかなるけどLAN配線の場合ってLANの口が家の端っことかにあって

そこからAPで5GHzを吹いても家の端まで届かない

あと、さっきの15家庭が10台繋げるとルーターには150台繋がることになって機種や設定次第ではDHCPの払い出しすら怪しくなる

アドレス空間広いんだから払い出せよって思うけどルーターによっては100台ぐらいが限界のものとかあるんだよね 謎だけど

実はこの辺の問題ってちゃんとしたスイッチルーターとか使えばいろいろ対処できる

まりLAN配線が悪いんじゃ無くて、そこで使ってる機器やその設定がダメ

LAN配線でもその辺しっかりして無線LANとかもしっかり設計されてたら上流が細くてもそこそこ快適

1Gを15家庭で割っても60Mbpsぐらいは出るはずだから

まぁ5Gとか下手したらLTEの方が速いけどテレビとかのストリーミング系をやるなら十分な帯域

その辺を含めてどういう家を借りれば良いのか

残念ながら運だな

低層がヤバいことが多いのは事実だが中・高層も大丈夫とは言い切れない

それより5Gに期待して内見ときに5G入るかどうかチェックした方がいいかもしれん

https://anond.hatelabo.jp/20210531000912

2021-02-01

カーシェア民度とかこんなもん

カーシェアを使っている。業界大手タイムズのだ。

タイムズカーシェアにはTCPプログラムというのがある。走行距離や給油でポイントが溜まっていき、一定を超えるとランクアップして特典がもらえるプログラムだ。単にたくさん使って金を払えば貯まるものではなく、カーシェアリングに優しい使い方をした方が溜まりやすいのが面白い所だ。

その中にキレイアンケートというのがある。返却確認メールURLがあって、【自分の前の利用者が綺麗に使ってたいたかどうか】を答えるものだ。これに回答すると1ポイントなのだが、これに【キレイだった】と答えられたユーザーには3ポイント入る。つまり自分の後に使ったユーザーアンケート答えられるだけで3ポイント貰えるのだ(連続自分が利用しては除外)

自宅近辺は利用率が高く、ステーションカーシェアがある駐車場)も二桁ほどある。そんな地域で月に3~4回、年間で50回利用して上記ポイントが付いたのが1回。ホームページ履歴で見れるので確実なのだが、余りに少ないのでサポートにも電話で聞いてみた。

汚いって言われてたのなら仕方ないと思ったが、サポートくそもそも回答されていないのだ。自分は近所のユーザーに3ポイント献上して、自分は誰からも貰えない良い人が損するのがカーシェア。そのくせ借りに来た駐車場自転車停めたり砂まみれにしても強制退会にはならないのでユーザー浄化とかは夢のまた夢。

もしカーシェア検討しているのなら街の雰囲気では分からない真の住環境が分かるし、そもそも環境が良くなければ思った以上に使いにくいと思うのでオススメしない。そう思うと自宅近辺に収集日以外に平気でゴミ捨てる人居るのも納得出来る。

2020-12-02

anond:20201201235939

海外のまともな大学コンピューターサイエンスやったら全部わかるようになるぞ、俺はなった

これら全部やる、4年あればできる

これだけわかってれば仕事上何も困ることはない、知らない分野でも本見たりぐぐるだけで十分金取れるレベル仕事ができる

2020-06-08

IPv6をよくわかってもないのにあーだこーだ言うやつが多すぎる

なんか、最近IPv6話題を前より見かけるようになった。それはいいんだけど、ものすごく偏ったことを言う人が増えたなぁ

IPv6では、セキュリティは端末で護るものだとか、IPv4と同じようにFWで護れないと困るとか、物凄いことを平気で言い出す人がちらほらいるなぁ...

「あえて言おう、クズであると(CV 銀河万丈)」

IPv4だろうがv6だろうが、中継段、終端の両方で守るべきなのは自明だとしか思えない。

DoS系なら中継段で守ったほうが効率よく守れるし、個別攻撃なら終端で守らないと複雑度が増して守りきれない、程度のことは常識だと思うんだよなぁ。違うのかなぁ...

まぁ、鯖を管理する人たちでもiptables/ufw/firewalld/ipfw/pf/npfの設定は呪文しか見えないだろうし、TCP状態遷移なんて追い切れないだろうし、S/Aと言われてわかる人も少ないだろうけど、それはただの勉強不足でしかないと思うんだよなぁ。

まぁ、nginxすら分からなくてapacheから移行できないという鯖缶いるから仕方がないんだろうけど。

(なお、apacheが悪いと言うわけではない。必要に応じて使い分ければいいのに、「知らないから」nginx(別にlighttpdでもh2oでもなんならunicornでもpumaでもいい)を使わないと言うのは、違うだろうと思うのだよな。

2020-06-01

最近話題nuro光セキュリティ 10Gs版

下記の記事に10Gsで提供されたルータ情報が載ってなかったので利用中の自分が調べてみた。

https://qiita.com/notoken3331/items/ca228e2ac28ac7ea4879

ルータ情報

メーカーHuawei
製品型番HN8255Ws

まず情報として、ONUに割り当てられたIPv6プレフィックスは/56だった。

ルータ機能でのWANインターフェースではおそらくそれより細かく切ったプレフィックスIPv6アドレスが割り当てられてるはずだが

HN8255Wsの管理画面では確認する方法がないように見受けられる。

簡素管理画面のどこを見てもそのような項目がない。

セキュリティ関連の設定については、詳細設定 → セキュリティ設定 → DoS設定に下記のチェックボックスがありデフォルト有効

SYNフラッド攻撃の防止:

ICMP ECHO攻撃の防止:

ICMPリダイレクト攻撃の防止:

LAND攻撃の防止:

Smurf攻撃の防止:

WinNuke攻撃の防止:

Pingスイープ攻撃の防止:

端末へのグローバルからの疎通検証環境

グローバル ー HN8255Ws(ONUルータ) ー NetGear GS110MX ー PC(Windows10)

疎通確認端末

iphone X (au) Wifi無効設定で iNetToolsアプリにて疎通確認及びポートスキャン

ちなみにauLTE契約のみでテザリングPCをぶら下げる場合PCにはIPv4プライベートアドレス

IPv6リンクローカルアドレスしか振られないので、テザリングPC端末からIPv6疎通確認は実行不可。

LET NET for DATAを契約すればテザリングPC端末側にもIPv6グローバルIP振られるらしいんだが、

わざわざこのためだけに契約変更する気にはならんのでテザリングでの検証却下

そのため、iphoneアプリで疎通確認可能なiNetToolsを疎通確認プログラムとして選定。

iNetToolsというアプリだとポートスキャンの時にプロトコル指定が出来そうにないのでポート番号のみを指定した。

TCPUDP両方チェックしているのか、どちらか片方しかチェックしていないのかは情報が見当たらなかった。

両方チェックして両方疎通した場合のみOpen判定なのか、どちらか片方でも開いていればOpen判定なのかも不明

なのでOpen/Close判定あくまで参考情報

確認結果

疎通確認端末のiphoneXがWifi経由でなく単独IPv6グローバルアドレスに疎通確認できる事の証明として

www.google.co.jp」のIPv6アドレスに対してpingで疎通確認し、その後ポートスキャンで各ポートが開いているかどうかを見た。

確認項目とその結果は下記の通り。

iphoneXからwww.google.co.jpIPv6アドレスへのicmpv6疎通確認アプリで疎通OK
WinPC割当IPv6グローバルアドレスへのicmpv6疎通確認アプリで疎通NG
WinPC割当IPv6グローバルアドレスへのポートスキャン(53)アプリでClose判定(Open欄に出てこない)
WinPC割当IPv6グローバルアドレスへのポートスキャン(80)アプリOpen判定
WinPC割当IPv6グローバルアドレスへのポートスキャン(135)アプリでClose判定(Open欄に出てこない)
WinPC割当IPv6グローバルアドレスへのポートスキャン(139)アプリでClose判定(Open欄に出てこない)
WinPC割当IPv6グローバルアドレスへのポートスキャン(443)アプリOpen判定
WinPC割当IPv6グローバルアドレスへのポートスキャン(445)アプリでClose判定(Open欄に出てこない)

ちなみにルータWANインターフェースが握ってるIPv4アドレス宛にも同じポートスキャンをしたが、同じように80と443がOpen判定だった。

ダイナミックパケットフィルタリングとかしてないんですかね?

フレッツ光回線使ってた時にポートスキャンテストとかしてなかったので他の光回線ポートスキャンの結果がどうなるかは知らない。

結論

10Gsはそれなりにマシっぽいが、HTTP/HTTPSのポートが空いてるとすると、HTTP/HTTPSの改竄パケット受け取っただけで問題が発生する脆弱性が端末搭載OSに発覚した場合危険かもしれない。

ただ、アプリ側のOpen判定が微妙なので誰かちゃんIPv6環境から真っ当なポートスキャン試してみて。俺はこれ以上検証しない。

2020-03-25

仕事CCNAをとることになったのだが

TCPの仕組み作った人すごくね?

2019-12-25

anond:20191225124529

console.log()がどこを出力先にするのかにもよるけど、

5G網から接続されたTCPソケットなら実際イケるんちゃう

(setIntervalのinterval設定ってコールバック呼んだ後なんだっけ先なんだっけ?)

2018-04-24

サイトブロッキング時のユーザ仕様の件

クライアントTCPエラーを返すか。

クライアントHTTPエラーを返すか。

HTTPエラー番号は何番を使うか。

エラーページのアイコン海賊旗でいいか

エラーメッセージは「ブロックしました。」でいいか

啓蒙用の4コマ漫画必要か。

アクセスログを取るか。

何ヶ月分のログを保存するか。

ブロックしないホワイトリストIPには何を設定するか。

上司から頻繁に追加依頼がくると面倒だしホワイトリストの追加設定ページも作っとくかなー。

そろそろ帰りてーなー!

2018-02-28

どいつもこいつもモノ作りできない

ソフトしろハードしろこれまでモノ作りをしてきた人は

背景にある哲学だとか理念だとかがまず分かった上で

関連する技術だとかその歴史だとかをしっかり踏まえて

新しいモノを産み出してきていたんだと思う

それなのに最近のモノ作りは表面上だけ真似て適当に作り上げて

綺麗なGUIとかWebだけ作ってそれっぽく仕上げる人ばっかりになって

平常時は特に問題ないんだけど時間が経ったり異常時には全く役に立たない

OSI参照モデルでいうならせめて1階層だけ下のことでいいから知ってほしい

TCPアプリを書くのにTCPがどういう挙動なのか,どういう哲学なのか知らない人が多いし

Javascriptサーバ通信するのにHTTPのことを知らない人も多い

ハードウェアを作る人もそのDC電源はどういう状況で流れてきているか知ってほしいし

電波っていうのがなぜいろんな特性を持っているのか分かった上で使ってほしい

何かしら異常が起きて調べてみたら

「なんじゃこの無茶苦茶な作り方は・・・

って思うようなことが最近は多すぎる

世の中に溢れている作られたモノがすべてそのレベルなのかと思うとゾッと寒気がする

2016-10-18

貧乏学生への学習アドバイス

http://anond.hatelabo.jp/20161017031727

老婆心ながら,おそらくSIer関係を目指しているだろう情報系?学生へのアドバイス

金銭

間違っても学生課に直接頼ってはいけない.悪手.

どの大学でも学生課は糞対応なので,カウンセラー通して学生課に学費免除なり,奨学金なり,対応を仰げ.

進路面

このままいくと研究室ゼミ配属で積みそうなにおいするから中退・途中就職大学頼らない就職)の選択肢も考えておけ.

技術

大学頼らないで就職どうするかが大変だが,とりあえず,

大学の授業だと理論多くて,

実務の話が少ないのも事実なのでおすすめは,

今はネット勉強できる時代から

- http://dotinstall.com/ title: dotinstall]

- http://gacco.org/ title: gacco]

- https://schoo.jp/ title: schoo]

- 各大学OCW

あたりがおすすめ.探せばもっとあるで.

SIer関係ないと思われるが,Web系への選択肢も拡がるしな.騙されたとおもってやっておけ.

最近だと技術文書Markdown で書く場合も多いし知っておいて損ないで.

ドットインストールにも授業がある.

基本情報持ってるなら知ってると思うが,

慣れておくといいで.ついでに言語C++でもいいが,SIerならJava8勉強しておけ.

多分授業だけだと,実際のコード使わないと思うので,自分インストールして使ってみるとええで.

実務なら絶対データベース使うんで,

MySQLインストールして使えるようにしておけ.基本コマンドだけええで.

後々データベース資格シルバーゴールド)にもつながるしな.

基本情報持ってるならある程度知ってると思うが,低レイヤIP/TCP, UDPソケット通信をCでもJavaでも書けるようにしておくとええで.

これも後々,ネットワーク関係資格もつながる.

開発の話あるしね

まず,add, commit , pushだけでええで.

ドットインストールにもある.

今までやったこと忘れるのもったいないし,他人に見せる意味でも技術ブログやっておけ.毎日更新かいらんで.

Linuxインストールしたレベルで,やったことならなんでもええで.

授業ノート電子化してもええで.

技術者就職面接で,(関係ない)バイトしてました,サークルやってましたじゃあん意味いからな.

履歴書ブログURL書いておくんやで.

技術面(余裕があるなら)

SIerに限らず技術関係の人たちの情報拾える.

SIerネタにされがちだが..

BS放送大学の授業タダで見れるので,

録画して好きな時間観て見ておけ.

情報系の授業もある.

コード書くようになったら騙されたと思って読んどけ.

自分の中の名著にしておけ.

優先度は低い.研究者になるなら重要なんだが..

技術文書を書くとき必要から読んどけ.

進路面

大学を頼らない方向で,地方住みでないなら,

Code IQかPaizaおすすめ

スカウト来たら,入らないにしても会ってみるとええで.

バイト大事なのはわかるが,大学目的は,知識選択肢拡げるというのもあるので,頑張って生きるんやで.

じゃあの

2016-05-11

http://anond.hatelabo.jp/20160509120018

Wake On Pattern Match は "TCPSYNを受け取ると電源投入する"機能の模様。

そもそもこの機能クライアントPCで使い道あるのか?

2016-02-06

「偉くなると庶民感覚が無くなる」と言っていたので庶民になろうと思

以前、麻生太郎さんはカップラーメンが400円すると言って失笑を買いました。

よく政治家とかが庶民感覚がないと非難されますが、私は子供の頃それを見て「ああ、偉くなると感覚おかしなっちゃうんだな」と思い、偉くなるのはやめようと思いました。

私は中学生の頃から親のパソコンで遊んでいましたが、そのころから将来パソコン仕事がしたいと思っていました。「市井技術者」という言葉を知って、庶民感覚を持って自分能力を磨いてお金を稼いで生活できるなら、それが一番いいような気がしていました。

大学情報系の学部に入り大学院へ行ってちょっと事情があって中退してから、私がIT仕事最初に就いたのはネットワークサーバ運用仕事でした。大学研究室ネットワーク研究室というところで、TCPIP光ファイバプロトコルについて研究していたので、ネットワークエンジニア仕事がしたいと思って応募しましたが、実務経験がないという理由でできませんでした。(当時(2005年頃)はIT仕事募集はありましたが、プログラミングでもネットワークエンジニアでもほとんど実務経験が問われました。JAVA社会人よりも学生の方がよく知っていると言われていた頃です。私は大学生の頃からJAVAを使った経験がありましたが、仕事として使うようになったのは10年くらい経った2008年です。)

大手派遣会社から大手IT企業派遣されて仕事していたのですが、とにかく困ったのは同僚が常に世間話をしていることでした。シェルコマンドを叩いてるとき世間話メールキュー掃除するとき世間話。当然仕事になりませんがそのときIT仕事はこういうものなんだと思っていました。まあな。ばかっつうもんだな。

あと派遣でもデスクトップを使う人とノートパソコンを使う人がいました。今でもそうですがノートパソコンタッチパッドは誤動作しやすいんですね。私は当時ハッキングされてるのかと思っていました。(実際されてたかもしれませんが)。私の他にノートパソコンを使っている人がいましたが、その人は私より後に派遣されてきて私より先に辞めていきました。

また、そのときは他に都会の電車が怖くて乗れなかったということもありました。

2ヶ月ほどして仕事マニュアル早い者勝ちで作るように上司から指示が出て、仕事自体がまだ身に付いていなくて何もできなかったということもあったので何も作れず、結局無力感と恐怖感で仕事に行けなくなりました。

いま振り返ってみると、私は『庶民感覚が無くなるんだったらヤダな』と思って『ずっと汗をかいて下っ端でいよう』と思ったら、その下っ端にはじき出されたということなんだと思います

東京から長野までバイクで死にものぐるいで逃げ帰ってきたんですが、それから何年か人が怖くて家に引きこもっていました。

さらに悪いことに、私が落ち着いてきた頃、母に公務員試験を受けることを進められたのですが、私はどうしてもIT技術者になる夢を捨てきれず、断っていました。あとで知ったのですが、大学院の同じ研究室にいた人が関西市役所就職して最近ドワンゴ転職しました。Σ(゚д゚;)

なんだよそれなら俺も公務員になってても良かったんじゃん!(_□_;)!!

私は仕事自分で言うのもアレですが大きな付加価値を生み出せて優秀だと思いますが、

身の処し方が全然分かりません。

優秀かどうかと収入が多いかどうかは関係がないと思います

父が私に言った言葉

大企業正社員雲の上の存在からな」

というのがありました。

調べたら「雲の上の存在」というのは別世界の住人ということらしいです。

私は親と別世界の住人にはなりたくないです。

お父さん、そういうことを言うのがいけないんじゃないか?

お父さん!

お父さん!!

お父さん!!!

2015-10-10

proxytunnel を Apache2.4 で使う方法について

一般的に外に出るために HTTP proxy 他を経由する必要があってしかHTTPHTTPS くらいしか通らないし、443/tcpssh を上げても proxy で弾かれるみたいなネットワーク存在する。

そんな場合に良く使われる proxytunnel(http://proxytunnel.sourceforge.net/) というソフトがあり、 ApacheSSLHTTP proxy としても動作させて特定ssh 等の port に接続させることで SSH over HTTPS を実現することが出来る。(proxytunnel で HTTP proxy を二段経由させた後で SSH接続する)

ただし Apache2.2 では SSL での HTTP proxy の動作にバグがあり、上記を実現するために proxytunnel 用のパッチ適用しておく必要があった。(https://bz.apache.org/bugzilla/show_bug.cgi?id=29744)

このバグApache2.4 において修正されている筈なのであるが、何故か Windowsproxytunnel で接続出来ないという現象が起こったのでその対処法を書いて置こうと思う。

proxytunnel の最新版は上のページの通り 1.9.0 で Windows 用のcygwinビルドもあるのであるが、

Debianなどのパッケージでは 1.9.0+svn250-5 までバージョンが上がっている(https://packages.debian.org/ja/jessie/proxytunnel)

そしてこの 1.9.0+svn250-5 だとパッチ無しの Apache2.4 で問題なく動作するのだ。

なのでこの 1.9.0+svn250-5 のソースを持って来て cygwin 環境Windows 用にビルドするのが解決策となる。

cygwin でのビルド自体ライブラリが揃っていることと、manページの生成でエラーが出るので本体ビルドだけにしておいた方が良いこと以外はとくに特殊なことは無かった。

元のcygwinビルドと同様にcygwindllを同じ場所に置けば元と同様に使用可能である

2015-08-06

とうとう人類幸せに導くpgbouncer1.6が公開された

みんな大好きPostgreSQL

複数DBマルチテナントシステムを構築するなら忘れてはいけないコネクションプーリング

大量コネクションを扱うなら都度forkやpre-fork式ではちょっと辛い、イベントベースが好ましい。

もうお分かりですね。pgbouncer1.6の話題です。

PostgreSQL界隈では有名なコネクションプーリング実装が2つあります。 pgpool-II と pgbouncer。

ざっくり言うと高機能の pgpool-II に対して、軽量・大規模向けの pgbouncer という棲み分けがあると言えるでしょう。

pgpool-II は最近日本トレジャーデータ社の Prestogres ( https://github.com/treasure-data/prestogres ) という痺れるようなプロジェクトベースとして採用されていることで名前を聞いたことのある方もいるのではないでしょうか。

pgbouncer は少し古いですが LastFM( http://www.lastfm.jp/user/Russ/journal/2008/02/21/zd_postgres_connection_pools:_pgpool_vs._pgbouncer )の事例が有名でしょう。Instagram も使ってますネ。

pgbouncerは現行のバージョンは1.5系で、最新は1.5.5です。1.6系は8月1日リリースされ、複数DBマルチテナントシステムに向けた大規模な機能強化が行われています

この1.6系では複数DBマルチテナントシステム開発者にとって嬉しい機能がたくさん搭載される予定です。本番運用に投入する前に一足お先にリリースノートを読んで夢を感じましょう。

バージョン2013年ぐらいからリリースノートは準備されているのにさっぱりリリースされなくて関係者をやきもきさせていました。(想像

記事では以下のリリースノートをもとにザックリ読み解いたものです。

http://pgbouncer.github.io/2015/08/pgbouncer-1-6/

主要新機能

接続ユーザーパスワードハッシュDBからロードできるようになった

プーリングモードの設定をデータベース毎、ユーザー毎に設定できるようになった

データベース毎、ユーザー毎にコネクションの最大接続数を制御できるようになった

・新しいコネクション確立を避けるための DISABLE/ENABLE コマンドが追加された

・新しい推奨のDNSバックエンド c-ares が追加された

設定ファイルに include ディレクティブを追加した

ではリリースノートをそれぞれ細かく見ていきましょう。

接続ユーザーパスワードハッシュDBからロードできるようになった

新しく以下のパラメータが追加された

1.5までのpgbouncerは userlist.txt というテキストに静的に接続ユーザを書かなければいけませんでした。

これは動的に接続ユーザーが増えるようなマルチテナントシステムを構築するのに不向きという事です。

この機能はその悩みを解消するための機能と言えるでしょう。

プールモードデータベース毎、ユーザー毎に設定することができる。

タイトルがすべてを物語ってます。柔軟にできますねぇ('∀`)

ただ、私にはちょっと有用な利用シーンが思いつかなかったです。

たとえば分析ユーザーではトランザクションなんて使わないので statement モードにしてコネクションの消費を抑えたりできるという事でしょうか。

データベース毎、ユーザー毎にコネクションの上限を設定できる。

max_db_connections と max_user_connections という設定が追加されます

テナント毎にユーザーを分けているような複数DBマルチテナントシステムにとって必須といえる機能です。

特定ユーザーリクエストコネクションをすべて占有されてしまい、他のユーザーサービスできないという事態を避けることができるようになるでしょう。

新しいコネクション生成を防止する DISABLE/ENABLE コマンドを追加。

特定データベースの新しいコネクション確立を抑止・再開することができます

新しいDNSバックエンドとして c-ares を導入した。

c-ares名前解決の非同期化を行うためのライブラリです。c-ares名前解決をブロックしないし、いろいろな方式名前解決に対応している唯一のプロダクトとのこと。

名前解決をブロッキングしてしまうようではpgbouncerのような大規模向けシステムでは役に立たないのだというpgbouncerの強い意志を感じる。

というか、ドキュメントを見る限り pgbouncer は名前解決にかなりこだわりを持っているらしい。それだけそこが重要ということでしょう

個人的には困ったことがないのでそこまでだわる理由はよくわからない。)。

SHOW CLIENTS, SHOW SERVERS で remote_pid を出すようになった。

UNIXドメインソケットで接続しているクライアントと、TCPまたはUNIXドメインソケットで接続しているサーバーでremote_pidを取得できるようになりました。

tcp serverの場合、pid はキャンセルキーから取得できる。(?ドキュメントから意味が読み取れず)

キャンセルキーとは何でしょうね。ちょっとリリースノートから判断できませんでした。

pg_cancel_backend とかに使えるPIDだよという事なのでしょうか。

ネガティブDNSキャッシュのために dns_nxdomain_ttl を分割した。

DBの数なんてもはや何台あるかわからない。ホスト名の解決はもはやDNSで行っておるよという皆様にとって必須機能

…なのでしょうがちょっとこの機能必要となるようなシステムとはどんなものなのか、私も未経験なのでよくわからないです。

クライアントIPアドレスポートapplicationネームに追加する

この設定は application_name_add_host=on にすることで有効となる。

今や接続アプリケーション名がWebだとかBatchだとか区別できるだけで問題が解決するような時代ではない。

どのホスト(ポート)レベル区別しないと。という事なんだろう。

「おお、Webサーバーから死ぬほど重いクエリが飛んでる、今すぐ調べないと!で、どのWebサーバーよ?100台あるんだぜ」みたいなときに助かりますね。

設定ファイルに外部ファイル読み込みディレクティブを追加することができるようになります

設定ファイル大規模化してくると、切り出して整理したいという要望はどうしてもでてくるもの

データベース毎、ユーザー毎に設定できる項目が増えてきたので必要になったという事でしょう。

以上。

以降はバグフィックスとかクリーンアップだとかで自分はあまり興味がないので各自読むように。

本番運用突撃するPostgreSQL界の猛者の報告待ってます

2013-08-12

Webサーバを作る】http://d.hatena.ne.jp/kmaebashi/20130804/p1

マネしてPerlで書いてみた。以下ソースコード

use Fcntl;

use strict;

use Socket;

use threads;

use POSIX qw(strftime);

use File::Spec::Functions qw(rel2abs);

my $thread = threads->new(\&serverThread, "");

$thread->join;

sub getContentType {

my $ret;

my %hashmap=(

"html" => "text/html",

"htm" => "text/html",

"txt" => "text/plain",

"css" => "text/css",

"png" => "image/png",

"jpg" => "image/jpeg",

"jpeg" => "image/jpeg",

"gif" => "image/gif"

);

$ret = $hashmap{$_[0]};

if ($ret eq "") {

return "application/octet-stream";

} else {

return $ret;

}

}

sub serverThread {

my $documentRoot = rel2abs("D:/var/www/html");

my ($line, $path, @tmp, $ext, $data, $absPath);

socket(SERVER, PF_INET, SOCK_STREAM, getprotobyname('tcp'));

bind(SERVER, sockaddr_in("8001", INADDR_ANY)) || die;

listen(SERVER, SOMAXCONN) || die;

while (accept(CLIENT, SERVER)) {

while (<CLIENT>){

$line = $_;

last if ($line eq "" || $line eq "\r\n" || $line eq "\n");

if (index($line, "GET") == 0){

$path = (split(/ /, $line))[1];

@tmp = split(/\./, $path);

$ext = @tmp[$#tmp];

}

}

print CLIENT "HTTP/1.1 200 OK\r\n";

print CLIENT "Date: " .strftime("%a, %d %b %Y %H:%M:%S GMT", gmtime). "\r\n";

print CLIENT "Server: Sever03.java\r\n";

print CLIENT "Connection: close\r\n";

print CLIENT "Content-type: ". getContentType($ext). "\r\n";

print CLIENT "\r\n";

$absPath = rel2abs($documentRoot. $path);

if (index($absPath,$documentRoot)==0 && sysopen(FH, $absPath, O_RDONLY | O_BINARY)) {

while ($data = <FH>) {

print CLIENT $data;

}

print CLIENT "\r\n";

close FH;

}

close CLIENT;

}

}

コアモジュールだけ使った。

元ネタJavaコードディレクトリトラバーサルになってたんで、一応対策を盛り込んだ。

といっても絶対に外向けに動かさないように。無いと思うけど。

いろいろツッコミくれるとうれしいです。

2013-01-18

続々・うへぇ苦労するのガイドライン

見出しはこれ http://anond.hatelabo.jp/20121219191602

UNIX

http://toro.2ch.net/test/read.cgi/unix/1288765389/232

232 :名無しさんお腹いっぱい。:2012/03/25(日) 15:05:26.72
今月はじめ、職場に新しいPC(Pentium4結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありOSオープン系を採用するのは 
聞いていたのですが、搬入されたPCのダンホール箱に乗っかっていたのは 
UNIXインストールパッケージでした。 

「うへぇ~、よりによってUNIXかよ」 

デバイスドライバがない、コマンドが変・オプションがない、X環境が古い、 
今の奴は日本語入力大丈夫なのか(Wnn/Canna/kinput2)、将来の64bit移行はどうなのか、 
今時のネット必須flashプラグイン存在するのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一CADなどのエンジニアリング環境が充実していたUNIX大学など 
教育機関に浸透していて、日本UNIX界に多くのバカを輩出しました。 

これから私は、おそらくそういうバカが、makeしてもemacsが入らない、 
TeXが入らない、コンソールでEUCは使えないのか、Rubyが使えないのかなどと、 
サバ管気取りの偏ったどうでもいい我侭を言い出し、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去10年のUNIX界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではPlamoでもDebianでもRedHatでもKondaraでも 
Slackwareでもなんでもいいですがメジャーかつ現行のLinuxにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

NFS

http://toro.2ch.net/test/read.cgi/unix/1355909018/4

4 :名無しさんお腹いっぱい。:2012/12/19(水) 18:44:07.79
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要があり、複数マシンファイルを共有するのは 
聞いていたのですが、起動したマシンの/etc/fstabの項目に書かれていたのは 
nfsという文字でした。 

「うへぇ~、よりによってNFSかよ」 

ファイルロックすると刺さる、ファイルを消したのに.nfsXXXが残る、 
今の奴はACL大丈夫なのか、ファイルのCapabilityに対応してるのか、 
今時のLAN上で使ってもセキュリティ大丈夫なのか不安はつきませんし、 
ユーザーが減ってるのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れてすりこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一ローカルディスクネットワーク上かの区別なく透過的にファイルアクセスできたNFS大学など教育機関に浸透していて、日本ストレージ界に 
多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ファイルに書き込んだら所有者がnobodyに 
なっちゃったよとか、タイムスタンプがずれるよとか、NFSv4にしたらマウント 
できなくなったよとか、TCPよりUDPの方がオーバーヘッドが無い分速いはずだよね 
などと、鯖管気取りの偏ったどうでもいい我侭を言いだし、 
(だからNFS鯖にするんじゃねーよ)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去25年のNFS界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではSambaでもNetatalkでもFTPでもなんでもいいですが 
安定してユーザーが多いファイル共有システムにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

FreeBSD

http://toro.2ch.net/test/read.cgi/unix/1351627596/3

3 :名無しさんお腹いっぱい。:2012/10/31(水) 10:57:28.82
今月はじめ、職場に新しいPC(Core i7結構ハイエンド構成)が入りました。 
多分私が運用保守をまかされそうな雰囲気です。業務的にとある構造分析シミュレーションなど行う必要がありOSに*BSD採用するのは聞いていたのですが、 
搬入されたPCのダンホール箱に乗っかっていたのはFreeBSDインストールパッケージ 
でした。 

「うへぇ~、よりによってFreeBSDかよ」 

カーネルが変、日本語環境がない、ソフトが変・揃ってない、今の奴は 
日本語文字コード大丈夫なのか(utf-8)、x86_64環境大丈夫なのか、 
今時のネットに繋いでもセキュリティ大丈夫なのか不安はつきませんし、 
非メジャーなのでネット上の情報も少なく調べるのも大変です。 
おそらく導入に際して、大学など教育機関最初にそれに触れてすりこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、唯一PC98環境が充実していたFreeBSD大学など教育機関に浸透していて、 
日本FreeBSD界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、ポーツ(笑)emacsが入らない、 
TeXが入らない、コンソールでEUCは使えないのか、Rubyが使えないのかとかなどと、 
鯖管気取りの偏ったどうでもいい我侭をいいだし、(だから鯖にするんじゃねーよ、 
鯖の常識で話すなつーのに)それと戦わなければならないのでしょう。 
そして時代によって決着している、過去20年のFreeBSD界隈のくだらないそれらの議論が 
再現され、それに巻き込まれるのでしょう。もう今からうんざりです。 

だからお願いです。教育現場ではUbuntuでもdebianでもFedoraでもRHELでも 
OpenSUSEでもなんでもいいですがメジャーかつ現行のLinuxにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

SPARC

http://toro.2ch.net/test/read.cgi/unix/1209056071/887

887 :名無しさんお腹いっぱい。:2012/10/21(日) 11:56:55.61
今月はじめ、職場に新しい組み込みマシン(ファン付きだけど結構省スペース構成)が 
入りました。多分私が開発全般をまかされそうな雰囲気です。業務的にとある 
構造分析シミュレーションなど行う必要があり、プログラムアセンブラを 
使用するのは聞いていたのですが、添付のサンプルソースコードからチラッと 
見えたのはsethi %hi(hoge),%o0という命令でした。 

「うへぇ~、よりによってSPARCかよ」 

長くなるバイナリーコード奇数アドレスワードアクセス不可、使いにくい 
レジスタウィンドウ、今時の素早いコンテキストスイッチ対応できるのか不安は 
つきませんし、今の若者はこんなCPU使わないので人材も少なくソフト開発も大変です。 
おそらく導入に際して、大学など教育機関最初SPARCに触れて刷りこまれた人間強気知ったかぶりをして発言権を得て「俺流」をつらぬき紛れ込ませたのでしょう。 

昔、当時、32bitCPUでRISCでM68K系よりも高速で動作したSPARC大学など教育機関に浸透していて、日本CPU界に多くのバカが輩出しました。 

これから私は、おそらくそういうバカが、16bitイミーディエイト値すら1命令でロード 
できかないのかよとか、関数呼出しのたびになんで約100バイトスタックフレームが 
要るんだよとか、フラグレジスタの読み出しがなんで特権命令なんだよとか、 
%g0ってレジスタ値変わらないし壊れてるよ、初期不良で交換だよとか、 
アセンブラ通気取りの偏ったどうでもいい我侭を言い出し(だからSPARC使うんじゃ 
ねーよ) それと戦わなければならないのでしょう。そして時代によって決着している、 
過去25年のCPU界隈のくだらないそれらの議論が再現され、それに巻き込まれるの 
でしょう。もう今からうんざりです。 

だからお願いです。教育現場ではi386でもi568でもi686でも 
x86_64でもなんでもいいですが現行のCPUにしてください。 

教育機関懐古趣味のバカを量産されると現場が非常に苦労するのです。 

2012-08-27

サーバ情報監視の仕組み

cf). Software Design 2010/01号

vmstat を実行するスクリプトを書く
!#/bin/sh
vmstat 5 2 | tail -1 | awk '{print $4,$5,$6}'
xinetd のサービスとして動くようにする
  1. /etc/services にポートプロトコルを登録する
    • agent_mem 11001/tcp # memory monitoring
  2. xinetd が実行するための設定ファイルを書く
    • /etc/xinetd.d/agent_mem
  3. xinetd の再起動
  4. telnet で動作確認する
service agent_mem
{
        socket_type     = stream
        protocol        = tcp
        wait            = no
        user            = nobody
        server          = Monitor/agent_mem.sh
        only_from       = 127.0.0.1
        disable         = no
}
xinetd に登録したポートを叩くスクリプトを書く

php場合、fopen() でもいけると思うのだが、明示的に sockopen() を使う。うむ、perlよりも楽だわこりゃ。

<?php /* -*-java-*- */
/**
 * モニタリングクライアント
 * 
 */
$fp = fsockopen( 'localhost', 11001, $errno, $errmsg, 30 );
if ( !$fp ) {
    echo "Error: $errno - $errmsg \n";
}
else {
    echo date('Y-m-d H:i:s'). "\t";
    $stmt = fgets ( $fp, 128 );
    if ( preg_match( "/([0-9]+) ([0-9]+) ([0-9]+)/", $stmt, $regs ) ) {
        $total = (int)$regs[1] + (int)$regs[2] + (int)$regs[3];
        echo $regs[1]."\t".$regs[2]."\t".$regs[3]."\t".$total."\n";
    }
    fclose( $fp );
}
cron に登録してログを取る。もしくは、スクリプトを while(1)で実行させておく

こいつをモニターとして走らせっぱなしに出来るようにする。

<?php /* -*-java-*- */
/**
 * モニタリングクライアント
 * 
 */

function mem_monitor ( $host, $port ) {
    $fp = fsockopen( $host, $port, $errno, $errmsg, 30 );
    if ( !$fp ) {
        echo date('Y-m-d H:i:s'). "\t";        echo "Error: $errno - $errmsg \n";
    }
    else {
        echo date('Y-m-d H:i:s'). "\t";        $stmt = fgets ( $fp, 128 );
        if ( preg_match( "/([0-9]+) ([0-9]+) ([0-9]+)/", $stmt, $regs ) ) {
            $total = (int)$regs[1] + (int)$regs[2] + (int)$regs[3];
            echo $regs[1]."\t".$regs[2]."\t".$regs[3]."\t".$total."\n";
        }
        fclose( $fp );
    }
}

while( 1 ) {
    mem_monitor( 'localhost', 11001 );
    ob_flush();
    flush();
    sleep( 30 );
}

2012-03-19

SQLServer 2012 Express インスコしました

http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=c3a54822-f858-494a-9d74-b811e29179e7

今のところ、2008 R2ほとんど変わらないな。

・LocalDB って機能が気になる。開発者用に切り離されたDB機能のようだが、便利なものなのか?

・動的ポート割り当てがデフォになってるから、支障あるときは構成マネージャで1433などを静的指定しなくちゃならない。

・静的ポート運用ときには、ファイアウォールを1433/TCPだけじゃなくて1434/UDPも開けないとならない。

って、えらそうに書いたけど、

からつなげること、まだ成功しでない。

ローカル同志では至ってスムーズに利用可能。

外部からパケットは1433も1434もちゃんと届いていることはパケットモニタで確認できるが

sqlsrv.exe 本体がシカトしたまま。


SQL Browser ってのを起動したら、つながった!

外部から名前付きインスタンスへつなげるときは、どうやらこれが必須みたいだ。

ローカル内では共有メモリを使うから不要なのだ

http://engineer-memo.com/blogs/engineer-memo/archive/2010/02/21/20100221_5F00_01.aspx

2011-05-30

Wiresharkで見つけたTOE (TCP Offload Engine) の問題

http://sashiz.seesaa.net/article/148763709.html

http://support.microsoft.com/kb/951037/ja

Wireshark(旧Ethereal WinPcap)で

送信パケットチェックサムエラーが出ていたら

(チェックサムフィールドが0x0000)

もしかして、そのネットワークI/Fで

機能していないオフロード設定がONになっているからかも。

通信相手次第で

不正パケット扱いして拒否する可能性もあるし、このままで問題ないかもしれない。

オフロード機能の説明は、ネットを探せばいろいろ載っている。

オフロード機能搭載をうたいつつ、バグがあるNICもあるようだ。

2010-09-02

http://anond.hatelabo.jp/20100902161406

まったくもってナンセンス。話の桁が違いすぎる。

大域ってテキスト情報の大域なんざ静止画の数百分の一も食わない。音声通話の数万分の一も食わない。動画の百万分の一も食わない。

同様の事を千人でやっても大域に関してはまったく問題が無いという話をしてるんだ。

TCPコネクションにしてもたとえばMicrosoft.comは毎秒平均7000~9000回もの攻撃を受けていると言われる。

Librahack氏は毎秒一回ではなく、アクセス毎に1秒のウェイトを入れていた。瞬時の返答があった場合の最高1回/secに過ぎない。

これが、どんだぇ少ないアクセス頻度だか。HTTPコネクション数に限って言えば100人クローラ使ったとしても中古パソコンで裁ける程度の話。

バックエンドDBがあってもそう。オラクル使っといて一人当たり数万アクセス程度でこけるとか無駄遣いもいいところ。

今回の状況って、個人用に図書館目録作りたいんですとかいって図書館の全部の棚の前にびっしり大量の人がはりついて他の人が棚使えなくなってるような状況と一緒でしょう。

鳴門海峡に割り箸千本さしたら海流が止まってしまったというぐらいナンセンス常識的に考えてちっとも大量の人ではない。

ご自由におとりくださいと書いてある店のチラシを1人で無意味にごっそり全部持っていくようなもんだよね。

りあるリソースの占有ではない。チラシをとろうとしたら突然床が抜けて屋根が落ちてきたようなもの。

何度も何度もシステム落としてるんだから空気読めって話じゃん。

まさかこの程度で落ちるわけないし、適切なエラーが返ってこないし、どうなってるんだ?と思っていたら逮捕されました。あまりに理不尽

そんだけ負荷をかけたいなら対応コスト費用分ぐらい寄付しなよ。

三菱税金ぼったくって、図書館税金無駄づかいを知らん振りの怠慢。まともに作れば落ちるようなアクセス頻度ではない。

ビジーも伝えずダウンしといて、エラー返せる余裕も無いほどのDOS攻撃だったなどとは笑止千万

2010-05-11

はてなサービスが全体的に重いのって

ひょっとしてネットワーク経路途中にあるどこかのTCPセッションライフタイム的なものの順番待ちさせられてるんじゃないかと感じた

今後改善される余地はあるんだろうか

2010-04-24

test

ルータメーカーサイトファームウェアを最新バージョンにするか、自動チューニング機能の設定を変更(無効にするなど)してみるといいかもしれません。

ルーターファームウェアアップデートする方法は、説明書なりメーカーのサイトなりに書いてあるでしょうからそちらを見てもらうとして、自動チューニング機能の設定を変更する方法ですが、

http://ascii.jp/elem/000/000/106/106192/

スタートメニューから「すべてのプログラム」→「アクセサリ」→「コマンドプロンプト」を右クリックし、「管理者として実行」を選択する。 続いて、「netsh interface tcp set global autotuninglevel=disabled」と入力すればいい。元に戻す場合は「netsh interface tcp set global autotuninglevel=normal」と入力する。

http://journal.mycom.co.jp/articles/2010/01/20/w7/index.html

受信ウィンドウ自動チューニングレベルを調整するには、「netsh interface tcp set global autotuninglevel={設定値}」と実行します。設定可能な値は下記のとおり。

「autotuninglevel」の設定値

disabled:自動最適化を無効にします

highlyrestricted:既定値より受信ウィンドウ保守的に拡大します

restricted:既定値より受信ウィンドウを制限的に拡大します

normal:既定値に戻します

experimental:実験的なシチュエーションで使用します

通常は「restricted」もしくは「highlyrestricted」を選び、先のコマンドを実行しますが、どちらがベストなのか、もしくは自動最適化を無効にした方が速くなるのかと、どの設定値を選ぶべきかは環境によって異なります(図15)。

これでも駄目な場合、もしかすると下記リンクが参考になるかもしれません。

http://questionbox.jp.msn.com/qa5697109.html

ログイン ユーザー登録
ようこそ ゲスト さん