Wireshark:Device Description IP Packets Packets/s

今天在VMware10的Other Linux 2.6.x kernel环境下(unity模式)运行Wireshark Version 0.99.4时,能打开wireshark界面,但是不能抓包,点击capture -> interfaces,发生“异常”。
有一个奇怪的现象是,在win7通过ip(linux中的ifconfig获取的)访问虚拟机文件,用win7 notepad编译虚拟机的C文件都不能正常保存。(提示:其他软件占用,我chmod修改权限后就可以正常保存。)

Device Description IP Packets Packets/s(中文直译:设备描述IP包包每秒)


Csdn user default icon

centos7.1 php-5.6.25 $ ls rpmbuild/ BUILD BUILDROOT RPMS SOURCES SPECS SRPMS $cat rpmbuild/SPECS/php.spec Name: php Version: 5.6.25 Release: 1%{?dist} Summary: compiled from 5.6.25 by Kevin Group: System Environment/Daemons License: GPL URL: https://secure.php.net Source0: php-5.6.25.tar.gz BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) BuildRequires: gcc, gcc-c++, openssl-devel Requires: wireshark-gnome %description php server. Compiled from 5.6.25 by Kevin %prep %setup -q %build ./configure '--with-libdir=lib64' '--prefix=/usr/local/php5.6' '--with-fpm-systemd' '--enable-fpm' '--enable-mbstring' '--with-mysql' '--with-mysqli' '--with-pdo-mysql' '--with-gd' '--enable-gd-native-ttf' '--with-freetype-dir' '--with-curl' '--with-openssl' '--with-mcrypt' '--enable-zip' '--enable-intl' make %{?_smp_mflags} %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} %clean rm -rf %{buildroot} %files %defattr(-,root,root,-) %defattr(-,root,root,-) /usr/local/php5.6/bin/* /usr/local/php5.6/sbin/* /usr/local/php5.6/include/* /usr/local/php5.6/php/php/fpm/* /usr/local/php5.6/php/man/man1/* /usr/local/php5.6/php/man/man8/* /usr/local/php5.6/lib/php/* /usr/local/php5.6/lib/php/extensions/* /usr/local/php5.6/lib/php/extensions/no-debug-non-zts-20131226/* /usr/local/php5.6/lib/php/build/* /usr/local/php5.6/lib/php/build/shtool/* /usr/local/php5.6/lib/php/.registry/* /usr/local/php5.6/lib/php/.channels/* /usr/local/php5.6/lib/php/Archive/* /usr/local/php5.6/lib/php/doc/* /usr/local/php5.6/lib/php/doc/Archive_Tar/* /usr/local/php5.6/lib/php/doc/Archive_Tar/docs/* /usr/local/php5.6/lib/php/doc/Structures_Graph/* /usr/local/php5.6/lib/php/doc/Structures_Graph/docs/* /usr/local/php5.6/lib/php/doc/Structures_Graph/docs/tutorials/* /usr/local/php5.6/lib/php/doc/Structures_Graph/docs/tutorials/Structures_Graph/* /usr/local/php5.6/lib/php/doc/Structures_Graph/LICENSE/* /usr/local/php5.6/lib/php/doc/XML_Util/* /usr/local/php5.6/lib/php/doc/XML_Util/examples/* /usr/local/php5.6/lib/php/doc/PEAR/* /usr/local/php5.6/lib/php/doc/PEAR/LICENSE/* /usr/local/php5.6/lib/php/doc/PEAR/INSTALL/* /usr/local/php5.6/lib/php/Console/* /usr/local/php5.6/lib/php/test/* /usr/local/php5.6/lib/php/test/Console_Getopt/* /usr/local/php5.6/lib/php/test/Console_Getopt/tests/* /usr/local/php5.6/lib/php/test/Structures_Graph/* /usr/local/php5.6/lib/php/test/Structures_Graph/tests/* /usr/local/php5.6/lib/php/test/XML_Util/* /usr/local/php5.6/lib/php/test/XML_Util/tests/* /usr/local/php5.6/lib/php/Structures/* /usr/local/php5.6/lib/php/Structures/Graph/* /usr/local/php5.6/lib/php/Structures/Graph/Manipulator/* /usr/local/php5.6/lib/php/XML/* /usr/local/php5.6/lib/php/OS/* /usr/local/php5.6/lib/php/PEAR/* /usr/local/php5.6/lib/php/PEAR/ChannelFile/* /usr/local/php5.6/lib/php/PEAR/Command/* /usr/local/php5.6/lib/php/PEAR/Downloader/* /usr/local/php5.6/lib/php/PEAR/Frontend/* /usr/local/php5.6/lib/php/PEAR/Installer/* /usr/local/php5.6/lib/php/PEAR/Installer/Role/* /usr/local/php5.6/lib/php/PEAR/PackageFile/* /usr/local/php5.6/lib/php/PEAR/PackageFile/Generator/* /usr/local/php5.6/lib/php/PEAR/PackageFile/Parser/* /usr/local/php5.6/lib/php/PEAR/PackageFile/v2/* /usr/local/php5.6/lib/php/PEAR/REST/* /usr/local/php5.6/lib/php/PEAR/Task/* /usr/local/php5.6/lib/php/PEAR/Task/Postinstallscript/* /usr/local/php5.6/lib/php/PEAR/Task/Replace/* /usr/local/php5.6/lib/php/PEAR/Task/Unixeol/* /usr/local/php5.6/lib/php/PEAR/Task/Windowseol/* /usr/local/php5.6/lib/php/PEAR/Validator/* /usr/local/php5.6/lib/php/data/* /usr/local/php5.6/lib/php/data/PEAR/* %config /usr/local/php5.6/etc/* /usr/local/php5.6/var/run/* /usr/local/php5.6/lib/* %dir /usr/local/php5.6/var/log/ %post cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf ln -s /usr/local/php5.6/bin/php /usr/bin/php %changelog * Tue Aug 30 2016 Kevin<kevin_liao@163.com> 5.6.25 - first rpm from php-5.6.25 然后用一个user用户为centos,没在root下执行 $ rpmbuild -ba rpmbuild/SPECS/php.spec 最后报错 Build complete. Don't forget to run 'make test'. + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.QjJHDq + umask 022 + cd /home/centos/rpmbuild/BUILD + '[' /home/centos/rpmbuild/BUILDROOT/php-5.6.25-1.el7.centos.x86_64 '!=' / ']' + rm -rf /home/centos/rpmbuild/BUILDROOT/php-5.6.25-1.el7.centos.x86_64 ++ dirname /home/centos/rpmbuild/BUILDROOT/php-5.6.25-1.el7.centos.x86_64 + mkdir -p /home/centos/rpmbuild/BUILDROOT + mkdir /home/centos/rpmbuild/BUILDROOT/php-5.6.25-1.el7.centos.x86_64 + cd php-5.6.25 + rm -rf /home/centos/rpmbuild/BUILDROOT/php-5.6.25-1.el7.centos.x86_64 + make install DESTDIR=/home/centos/rpmbuild/BUILDROOT/php-5.6.25-1.el7.centos.x86_64 Installing shared extensions: /usr/local/php5.6/lib/php/extensions/no-debug-non-zts-20131226/ Installing PHP CLI binary: /usr/local/php5.6/bin/ Installing PHP CLI man page: /usr/local/php5.6/php/man/man1/ Installing PHP FPM binary: /usr/local/php5.6/sbin/ Installing PHP FPM config: /usr/local/php5.6/etc/ Installing PHP FPM man page: /usr/local/php5.6/php/man/man8/ Installing PHP FPM status page: /usr/local/php5.6/php/php/fpm/ Installing PHP CGI binary: /usr/local/php5.6/bin/ Installing PHP CGI man page: /usr/local/php5.6/php/man/man1/ Installing build environment: /usr/local/php5.6/lib/php/build/ Installing header files: /usr/local/php5.6/include/php/ Installing helper programs: /usr/local/php5.6/bin/ program: phpize program: php-config Installing man pages: /usr/local/php5.6/php/man/man1/ page: phpize.1 page: php-config.1 Installing PEAR environment: /usr/local/php5.6/lib/php/ [PEAR] Archive_Tar - already installed: 1.4.0 [PEAR] Console_Getopt - already installed: 1.4.1 [PEAR] Structures_Graph- already installed: 1.1.1 [PEAR] XML_Util - already installed: 1.3.0 [PEAR] PEAR - already installed: 1.10.1 Wrote PEAR system config file at: /usr/local/php5.6/etc/pear.conf You may want to add: /usr/local/php5.6/lib/php to your php.ini include_path /home/centos/rpmbuild/BUILD/php-5.6.25/build/shtool install -c ext/phar/phar.phar /usr/local/php5.6/bin ln -s -f phar.phar /usr/local/php5.6/bin/phar Installing PDO headers: /usr/local/php5.6/include/php/ext/pdo/ + /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /home/centos/rpmbuild/BUILD/php-5.6.25 find: '/home/centos/rpmbuild/BUILDROOT/php-5.6.25-1.el7.centos.x86_64': No such file or directory error: Bad exit status from /var/tmp/rpm-tmp.QjJHDq (%install) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.QjJHDq (%install)




eth1 Link encap:Ethernet HWaddr 3A:55:2C:26:83:D4 inet addr: Bcast: Mask: inet6 addr: fe80::3855:2cff:fe26:83d4/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9063185 errors:0 dropped:74 overruns:0 frame:0 TX packets:111471 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2485348848 (2.3 GiB) TX bytes:37852595 (36.0 MiB) Interrupt:55 Base address:0x4000 p2p-wlan0-0 Link encap:Ethernet HWaddr BE:14:EF:A8:ED:20 inet addr: Bcast: Mask: UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:59 errors:0 dropped:34 overruns:0 frame:0 TX packets:352 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:7095 (6.9 KiB) TX bytes:113866 (111.1 KiB) 虚拟出一个网卡p2p-wlan0-0,在虚拟的网卡上收发数据,wireshark抓包显示对应的HWaddr为3A:55:2C:26:83:D4 导致数据收发失败 为什么会出现这种情况,如何解决! [图片说明](https://img-ask.csdn.net/upload/201511/05/1446726140_485404.png)

Localhost UDP客户端未从UDP代理接收数据包[关闭]

<div class="post-text" itemprop="text"> <p>I have a proxy that acts between a Minecraft (Windows 10 Edition) client and a server, the protocol is UDP. The client broadcasts an unconnected ping, then server replies with an unconnected pong, everything with that is okay. The thing is when the server sends the packet to my proxy, my proxy sends it to client but for some reason something happens during that part; either my proxy is not sending the packet or the client is not receiving the packet, but most likely it's the second option.</p> <p>Edit: I got the unconnected pings and pongs working, now the server shows online on the server list, now the problem is mainly the open connection requests/replies. How I got the the pings and pongs working was I re-encoded the buffers and send them instead of sending them raw.</p> <p>Here you can see from wireshark, the minecraft client sends an unconnected ping the proxy:</p> <pre><code>NO. Time. Source. Dest. Proto. Len. Packet 417 10.452413 RakNet 75 Unconnected Ping (client -&gt; proxy) 430 10.457000 x.x.x.x RakNet 610 Unconnected Ping (proxy -&gt; server) 431 10.587214 x.x.x.x RakNet 212 Unconnected Pong (server -&gt; proxy -&gt; client) </code></pre> <p>Now the proxy receive the unconnected pong, send it to the client, and the client doesn't receive it, I can confirm this because on the game the server shows offline and doesn't show any data:</p> <p><a href="https://i.stack.imgur.com/zpwI2.png" rel="nofollow noreferrer">Localhost Server Screenshot</a></p> <p>In my code, I first bind the proxy on port 19132 and set the server address I want to communicate with: </p> <pre><code>var config = NewConfig() var proxy = Proxy{} var err error proxy.UDPConn, err = net.ListenUDP("udp", &amp;net.UDPAddr{IP: net.ParseIP(config.BindAddr), Port: config.BindPort}) if err != nil { Panic(err.Error()) os.Exit(1) } Info("Starting proxy on " + config.BindAddr + ":" + strconv.Itoa(config.BindPort)) addrs, err := net.LookupHost(config.ServerAddr) if err != nil { Panic(err.Error()) os.Exit(1) } conn := NewConnection(&amp;proxy) conn.server.SetAddress(net.UDPAddr{IP: net.ParseIP(addrs[0]), Port: config.ServerPort}) conn.HandleIncomingPackets() </code></pre> <p>Now my proxy starts receiving and sending packets automatically.</p> <pre><code>for true { buffer := make([]byte, 2048) _, addr, err := conn.proxy.UDPConn.ReadFromUDP(buffer) if err != nil { Alert(err.Error()) continue } MessageId := buffer[0] Debug("Message Id : " + strconv.Itoa(int(MessageId))) // this is the packet id if conn.client.IsConnected() { // client is connected if conn.IsServer(*addr) { conn.pkHandler.HandleIncomingPacket(buffer, conn.client) // if server send to client }else{ conn.pkHandler.HandleIncomingPacket(buffer, conn.server) // if client send to server } } else { switch MessageId { case byte(IdUnconnectedPingOpenConnection): conn.handleUnconnectedPing(*addr, buffer) // send this server break case byte(IdUnconnectedPongOpenConnection): conn.handleUnconnectedPong(*addr, buffer) // parse server data and send to client break case byte(IdOpenConnectionRequest1): conn.handleConnectionRequest1(*addr, buffer) // connect client and send to server break //case byte(IdOpenConnectionReply1): // conn.handleConnectionReply1(*addr, buffer) // break } } } </code></pre> <p>This is the message id log:</p> <pre><code>[2018-06-10 13:52:12][Log/DEBUG]: Message Id : 1 [2018-06-10 13:52:12][Log/INFO]: Received unconnected ping from client address: [2018-06-10 13:52:12][Log/DEBUG]: Message Id : 28 [2018-06-10 13:52:12][Log/INFO]: Received unconnected pong from server address: x.x.x.x [2018-06-10 13:52:13][Log/DEBUG]: Message Id : 1 [2018-06-10 13:52:13][Log/INFO]: Received unconnected ping from client address: [2018-06-10 13:52:13][Log/DEBUG]: Message Id : 28 [2018-06-10 13:52:13][Log/INFO]: Received unconnected pong from server address: x.x.x.x </code></pre> <p>Another way I confirmed the client is not receiving packets is that when in the game I click the server in the server list, the client sends an <code>open connection request 1 (5)</code> and the server replies with <code>open connection reply 1 (6)</code>, the client is supposed to receive this and continue with an <code>open connection request 2 (7)</code> then finally the server replies with <code>open connection reply 2 (8)</code>, but the client never sends <code>open connection request 2 (7)</code>, because it never got the <code>open connection reply 1 (6)</code> from the proxy and hence times out and disconnects, here is a log showing this:</p> <pre><code>[2018-06-10 11:07:46][Log/DEBUG]: Message Id : 5 [5 0 255 255 0 254 254 254 254 253 253 253 253 18 52 86 120 8] [2018-06-10 11:07:47][Log/DEBUG]: Message Id : 6 [6 0 255 255 0 254 254 254 254 253 253 253 253 18 52 86 120 36 149 162 237 197 55 226 161 0 8 28] [2018-06-10 11:07:47][Log/DEBUG]: Message Id : 5 [5 0 255 255 0 254 254 254 254 253 253 253 253 18 52 86 120 8] [2018-06-10 11:07:47][Log/DEBUG]: Message Id : 6 [6 0 255 255 0 254 254 254 254 253 253 253 253 18 52 86 120 36 149 162 237 197 55 226 161 0 8 28] [2018-06-10 11:07:47][Log/DEBUG]: Message Id : 1 [1 0 0 0 0 3 3 91 191 0 255 255 0 254 254 254 254 253 253 253 253 18 52 86 120 191 216 14 215 31 123 8 249] </code></pre> </div>


如何用wireshark捕捉代理服务器的原IP(apache 和 tomcat:apache为代理服务器,tomcat为应用服务器即原服务器),以及是否成功接受包

SIP协议错误 : 481 Call Leg/Transaction Does Not Exist

利用Exosip进行SIP协议通信,对方发送INFO过来,但是我这里一直回复481 Call Leg/Transaction Does Not Exist,请问下大神们产生这个问题可能原因?? 下面是发送的报文信息: INFO sip:153122387331646674@ SIP/2.0 Via: SIP/2.0/UDP;rport;branch=z9hG4bK1635013705 From: <sip:123@>;tag=3748143564 To: <sip:153122387331646674@> Call-ID: 1954869349 CSeq: 20 INFO Content-Type: Application/IVS_XML Max-Forwards: 70 User-Agent: eXosip/4.0.0 Content-Length: 244 <?xml version="1.0"?> <Message><Query><Variable>FileList</Variable><Authority>99</Authority><FileType>1</FileType><MaxFileNum>20</MaxFileNum><BeginTime>2014-12-11T00:00:00Z</BeginTime><EndTime>2014-12-11T09:25:40Z</EndTime></Query></Message> SIP/2.0 481 Call Leg/Transaction Does Not Exist Via: SIP/2.0/UDP;rport=5061;branch=z9hG4bK1635013705 From: <sip:123@>;tag=3748143564 To: <sip:153122387331646674@>;tag=1375850661 Call-ID: 1954869349 CSeq: 20 INFO User-Agent: Cascade Content-Length: 0

GCP上的golang =>监听tcp:443:绑定:权限被拒绝

<div class="post-text" itemprop="text"> <p>I have an issue trying to setup an https on Google Cloud Platform using golang + let's encrypt</p> <ul> <li><p>I already have a domain targeting the IP of the instance</p></li> <li><p>Also I got a let's encrypt certificate and chain saved on /etc/letsencrypt/live/mydomain.com/</p></li> <li><p>I already setup myapp to use the cert and configured to run as a service using myapp.service via systemctl</p></li> </ul> <p>And after all this configurations I always get the next error message:</p> <hr> <pre><code>Feb 14 11:29:47 https https[1982]: 2019/02/14 11:29:47 listen tcp :443: bind: permission denied Feb 14 11:29:47 https systemd[1]: https.service: Main process exited, code=exited, status=1/FAILURE Feb 14 11:29:47 https systemd[1]: https.service: Unit entered failed state. Feb 14 11:29:47 https systemd[1]: https.service: Failed with result 'exit-code'. </code></pre> </div>


额,本人wireshark新手(大部分网络协议都只是了解,但分层、三次握手等还是知道的),TCP-IP学得太枯燥了,想动手实践加深一点印象 听说利用wireshark可以找到视频的真实地址,于是我参照了(https://blog.csdn.net/u012206807/article/details/14521917?locationnum=2) 这篇博文,想亲手实践一下, 比如目标是( https://www.bilibili.com/video/av24502164/ )这个视频 但是我只能找到视频发送的ip、端口,自己的ip、端口,出现的所有协议都是ARP、SSL、TCP、TLSv1.2等,就是没有文中所说的http。不知道是我的wireshark隐蔽掉了http呢?还是这视频就不是用http的协议来传输?还是说视频地址已经包含在里面了,只是我不懂得利用???我应该补充哪方面的知识呢? **其实我最想知道的是,想下载一个视频,有没有一套通用的流程?每个步骤需要掌握哪些知识呢?**

jQuery JSONP调用PHP后端:没有HTTP响应

<div class="post-text" itemprop="text"> <p><strong>Update IV / Current status:</strong> I've now confirmed trough another question that the character encoding of the file is fine and not the cause of the problem. I've also tested against another server and the error still persists. It does however work towards localhost. <em>So to summarize:</em> JSONP call works towards localhost, but when running against external domains the response from the server is empty (no header / no http response code). When copying the requested URL and inserting it directly in a browser, the output is correct with correct formating (utf-8 / json). </p> <p><strong>Fiddle:</strong> <a href="http://jsfiddle.net/5SJvp/1/" rel="nofollow">http://jsfiddle.net/5SJvp/1/</a></p> <p><strong>Update III:</strong> I'm now able to get it working succesfully on localhost. However, using the exact same code (both client and server) towards my production domain it still fails. The response from the server is "empty" meaning to say it returns no http status code. </p> <p><strong>Update II:</strong> After some more debugging I noticed that the response does not include an http status code. This probably is the cause of my problem? I assume this means there is something wrong server side, but I cannot for the life of me see where. </p> <p><strong>Update I:</strong> Snip from jQuery where to request seems to halt.</p> <pre><code>// Do send the request // This may raise an exception which is actually // handled in jQuery.ajax (so no try/catch here) xhr.send( ( s.hasContent &amp;&amp; s.data ) || null ); </code></pre> <p>Params (from Firebug)</p> <pre><code>_ 1356655864905 callback jQuery18308375673194150332_1356655863817 p 0522 pl 12 s false secret ############################## u request12341299 </code></pre> <p>Request (from Firebug)</p> <pre><code>Accept text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01 Accept-Encoding gzip, deflate Accept-Language nb-no,nb;q=0.9,no-no;q=0.8,no;q=0.6,nn-no;q=0.5,nn;q=0.4,en-us;q=0.3,en;q=0.1 Connection keep-alive Host localhost:8888 Referer http://localhost:8888/popup.html User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20100101 Firefox/17.0 X-Requested-With XMLHttpRequest </code></pre> <p><strong>Original question:</strong></p> <p>I'm struggling with what seems to be a common problem, but I've yet to find a solution. I'm trying to execute a very simple jsonp call using jQuery. The problem is that either a) nothing is happening or b), the response from the server is empty. </p> <p>I've tried several different approaches, using both the $.ajax method and the $.getJSON method. Both produce the same faulty result. Using the code below nothing happens: Using the Chrome debugger I can see that it simply stops its execution halffway trough the method. However using Wireshark I can see that the client performs the three way handshake and thusly prepars to send data, it just fails to do that.</p> <p>If I remove the <strong>callback=?</strong> it does execute, however the response is malformed (or at least, I think so since I can only see a response marked with a red line in Firebug).</p> <pre><code>$.ajax({ url: "http://mydomain.com/asd.php", //"http://localhost:8888/index.php", dataType: 'jsonp', type: 'GET', data: {p:p, u:u, s:symbols, pl:pl, secret:secret}, contentType: "application/json; charset=utf-8", async: false, success: function(data){ console.log("What " + data.test); }, error: function(data){ console.log("failed for some reason"); } }); </code></pre> <p>Server code ($callback = $_GET["callback"]</p> <pre><code>&lt;?php header('content-type: application/json; charset=utf-8'); . . . $data = array ( "message" =&gt; $message, "status" =&gt; $statuscode, "length" =&gt; strlen($message) ); echo $callback . '('.json_encode($data) .')'; exit; ?&gt; </code></pre> <p>Here is the server response with manually typed input.</p> <pre><code>funcName({"message":"!0b7(cb6Gv40","status":"OK","length":12}) </code></pre> </div>


<div class="post-text" itemprop="text"> <p>I am trying to establish a TLS connection by providing a <code>tls.Config</code> struct containing a <code>Rand</code> field that should always return the same <code>int</code> when calling their <code>Read</code> method, cf. the docs here: <a href="https://golang.org/pkg/crypto/tls/#Config" rel="nofollow noreferrer">https://golang.org/pkg/crypto/tls/#Config</a></p> <p>I've written this builder:</p> <pre><code>func newZeroRand() *rand.Rand { return rand.New(rand.NewSource(0)) } </code></pre> <p>And a test to make sure that <code>rand.Rand</code> is always returning the same <code>int</code> when <code>Read</code> is invkoed multiple times, notice the different input params <code>"foo"</code> and <code>"bar"</code> providing the same output:</p> <pre><code>func TestPredictableZeroRandGenerator(t *testing.T) { zeroRand := newZeroRand() firstNum, err := zeroRand.Read([]byte("foo")) if err != nil { t.Error(err) } secondNum, err := zeroRand.Read([]byte("bar")) if err != nil { t.Error(err) } // fmt.Printf("firstNum %d secondNum %d ", firstNum, secondNum) if firstNum != secondNum { t.Error(fmt.Sprintf("This is not a predictable zero random generator! The first number is: %d the second number is: %d", firstNum, secondNum)) } } </code></pre> <p>Using that previously defined <code>newZeroRand()</code> I was expecting to generate always the same SSL key inside the file <code>same-key.log</code> when providing the TLS configuration like this:</p> <pre><code>func tlsConfig() (*tls.Config, error) { w, err := os.OpenFile("same-key.log", os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0755) if err != nil { return nil, err } tlsConfig := tls.Config{ Rand: newZeroRand(), KeyLogWriter: w, } return &amp;tlsConfig, nil } </code></pre> <p>But for multiple executions I get different file contents. I may be misunderstanding the details here: <a href="https://golang.org/pkg/crypto/tls/#example_Config_keyLogWriter" rel="nofollow noreferrer">https://golang.org/pkg/crypto/tls/#example_Config_keyLogWriter</a> because when I open those files <code>same-key.log</code> after each execution then I find the structure described here in the NSS Key Log Format from Mozilla: <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format" rel="nofollow noreferrer">https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/Key_Log_Format</a></p> <pre><code>CLIENT_RANDOM &lt;FIRST_LONG_ID&gt; &lt;SECOND_LONG_ID&gt; </code></pre> <p>where:</p> <ul> <li><code>&lt;FIRST_LONG_ID&gt;</code> is always the same</li> <li><code>&lt;SECOND_LONG_ID&gt;</code> is changing after each execution <strong>&lt;-- why this is happening?</strong></li> </ul> <p>When providing a key file <code>same-key.log</code> for a batch of packets from a different execution, then <strong>Wireshark is not able to decrpyt</strong> them!</p> <p>I may be misunderstanding some internals about SSL cryptography here and I was wondering if I should also provide the certificates in the configuration struct? How could I generate these certificates?</p> <p>Afaik when using certificates on top of the key there should be a piece of information coming from the other side at runtime, so then I can not decrypt the stream of packets if I don't have that information. This is why I thought certificates are not needed if I want to use Wireshark to decrypt those packets.</p> <p>Otherwise I am not sure how could I force the TCP connection to always encrypt/decrypt the packets with the same key?</p> <p><strong>Edit:</strong></p> <p>As pointed out by @peter in his answer I was asserting on the length of the input byte slice rather than the actual "deterministic-random value".</p> <p>I came out with this <code>Read</code> implementation for the <code>tls.Config</code> struct:</p> <pre><code>type debugRand struct {} func (dr *debugRand) Read(p []byte) (n int, err error) { for i := range p { p[i] = byte(0) } return len(p), nil } func newZeroRand() *debugRand { return &amp;debugRand{} } </code></pre> <p>This is setting to <code>0</code> all the elements of the input slice. </p> <p>However I still generate SSL keys which have different <code>&lt;SECOND_LONG_ID&gt;</code> values for different executions.</p> <p>Is it possible at all to get Wireshark re-using SSL keys <strong>on different TLS connections</strong> when analysing those encrypted TCP packets?</p> </div>

wireshark ssl 数据怎么分析

![请求应答包如图](https://img-ask.csdn.net/upload/201511/20/1448023743_139196.png) 怎么可以看的明文的数据 wireshark 数据包地址 链接:http://pan.baidu.com/s/1bn7cviJ 密码:s36i

同时请求拨打TCP I / O超时

<div class="post-text" itemprop="text"> <p>I am building a tool in Go that needs to make a very large number of simultaneous HTTP requests to many different servers. My initial prototype in Python had no problem doing a few hundred simultaneous requests.</p> <p>However, I have found that in Go this almost always results in a <code>Get http://www.google.com: dial tcp i/o timeout</code> for some if the number of simultaneous requests exceeds ~30-40.</p> <p>I've tested on macOS, openSUSE, different hardware, in different networks and with different domain lists, and changing the DNS server as described in other Stackoverflow answers does not work either.</p> <p>The interesting thing is that the failed requests do not even produce a packet, as can be seen when checking with Wireshark.</p> <p>Is there anything that I am doing wrong or is that a bug in Go?</p> <p>Minimum reproducible program below:</p> <pre><code>package main import ( "fmt" "net/http" "sync" ) func main() { domains := []string{/* large domain list here, eg from https://moz.com/top500 */} limiter := make(chan string, 50) // Limits simultaneous requests wg := sync.WaitGroup{} // Needed to not prematurely exit before all requests have been finished for i, domain := range domains { wg.Add(1) limiter &lt;- domain go func(i int, domain string) { defer func() { &lt;-limiter }() defer wg.Done() resp, err := http.Get("http://"+domain) if err != nil { fmt.Printf("%d %s failed: %s ", i, domain, err) return } fmt.Printf("%d %s: %s ", i, domain, resp.Status) }(i, domain) } wg.Wait() } </code></pre> <p>Two particular error messages are happening, a <code>net.DNSError</code> that does not make any sense and a non-descript <code>poll.TimeoutError</code>:</p> <pre><code>&amp;url.Error{Op:"Get", URL:"http://harvard.edu", Err:(*net.OpError)(0xc00022a460)} &amp;net.OpError{Op:"dial", Net:"tcp", Source:net.Addr(nil), Addr:net.Addr(nil), Err:(*net.DNSError)(0xc000aca200)} &amp;net.DNSError{Err:"no such host", Name:"harvard.edu", Server:"", IsTimeout:false, IsTemporary:false} &amp;url.Error{Op:"Get", URL:"http://latimes.com", Err:(*net.OpError)(0xc000d92730)} &amp;net.OpError{Op:"dial", Net:"tcp", Source:net.Addr(nil), Addr:net.Addr(nil), Err:(*poll.TimeoutError)(0x14779a0)} &amp;poll.TimeoutError{} </code></pre> <p>Update:</p> <p>Running the requests with a seperate <code>http.Client</code> as well as <code>http.Transport</code> and <code>net.Dialer</code> does not make any difference as can be seen when running code from <a href="https://play.golang.org/p/T6TUJSTEyAy" rel="nofollow noreferrer">this playground</a>.</p> </div>


我的系统是windows XP,用的rails 1.2 版本,想安装ferret,我输入gem install ferret 命令,但是安装出错,提示信息如下: <br />e:\emporium&gt;gem install ferret <br />Building native extensions.&nbsp; This could take a while... <br />ERROR:&nbsp; Error installing ferret: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ERROR: Failed to build gem native extension. <br /> <br />C:/Ruby/bin/ruby.exe extconf.rb install ferret <br />creating Makefile <br /> <br />nmake <br />'nmake' 不是内部或外部命令,也不是可运行的程序 <br />或批处理文件。 <br /> <br /> <br />Gem files will remain installed in C:/Ruby/lib/ruby/gems/1.8/gems/ferret-0.11.6 <br />for inspection. <br />Results logged to C:/Ruby/lib/ruby/gems/1.8/gems/ferret-0.11.6/ext/gem_make.out <br /> <br />e:\emporium&gt; <br /> <br /> <br />请各位朋友帮忙,ferret在windows xp下应如何安装,谢谢了!



在MacOSX上使用Go 1.5创建RAW数据包

<div class="post-text" itemprop="text"> <p>I am trying to do some basic packet crafting for a testing tool I am working on, but I can not seem to get the packet crafting to work (I am using Go 1.5 on OSX and am running as root.) </p> <p>I am using the following code (<a href="http://www.darkcoding.net/software/raw-sockets-in-go-link-layer/" rel="nofollow noreferrer">taken from here</a>) to try and create an ICMP packet, but when I try to specify say specific options in the IP header it does not seem to work. Further when I look at this packet in wireshark it shows up as protocol 255 (unknown). </p> <p>I have read that on Linux system you can use AF_PACKET but on OSX systems you need to use BPF, however the sample code I found is using "syscall.Socket(syscall.AF_INET, syscall.SOCK_RAW, syscall.IPPROTO_RAW)" and I am not sure how to get started with BPF. I have also seen some people try to use gopacket instead of the x/net/ipv4 package. </p> <pre><code>package main import ( "golang.org/x/net/ipv4" "net" "syscall" ) func main() { var err error fd, _ := syscall.Socket(syscall.AF_INET, syscall.SOCK_RAW, syscall.IPPROTO_RAW) addr := syscall.SockaddrInet4{ Port: 0, Addr: [4]byte{127, 0, 0, 1}, } p := pkt() _ = syscall.Sendto(fd, p, 0, &amp;addr) } func pkt() []byte { h := ipv4.Header{ Version: 4, Len: 20, TOS: 0, TotalLen: 85, // I can not seem to change this ID: 2, // I can not seem to change this TTL: 64, // I can not seem to change this Protocol: 1, // ICMP, This does not seem to work Dst: net.IPv4(127, 0, 0, 1), } icmp := []byte{ 8, // type: echo request 0, // code: not used by echo request 0, // checksum (16 bit), we fill in below 0, 0, // identifier (16 bit). zero allowed. 0, 0, // sequence number (16 bit). zero allowed. 0, 0xC0, // Optional data. ping puts time packet sent here 0xDE, } cs := csum(icmp) icmp[2] = byte(cs) icmp[3] = byte(cs &gt;&gt; 8) out, _ := h.Marshal() return append(out, icmp...) } func csum(b []byte) uint16 { var s uint32 for i := 0; i &lt; len(b); i += 2 { s += uint32(b[i+1])&lt;&lt;8 | uint32(b[i]) } // add back the carry s = s&gt;&gt;16 + s&amp;0xffff s = s + s&gt;&gt;16 return uint16(^s) } </code></pre> <p>If I print out the p variable that contains the packet data in Main() after the data comes back from pkt() it looks right:</p> <pre><code>DEBUG: (decimal) [69 0 60 0 0 0 0 0 64 1 0 0 0 0 0 0 127 0 0 1 8 0 55 33 0 0 0 0 192 222] DEBUG: (hex) 45 0 3c 0 0 0 0 0 40 1 0 0 0 0 0 0 7f 0 0 1 8 0 37 21 0 0 0 0 c0 de </code></pre> <p>And you can see that the protocol is set for "1" in the 10th byte. But when we look at this packet in wireshark it looks like:</p> <p><a href="https://i.stack.imgur.com/oTg5f.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/oTg5f.png" alt="wireshark screen shot"></a></p> </div>

PHP SoapServer(WSDL)如何将xml命名空间设置为项目而不是标题?

<div class="post-text" itemprop="text"> <p>I have a tiny php soap server, that based on wsdl, and it serves DLNA requests. The server code looks like thousands of others:</p> <pre><code>$srv = new SoapServer( "wsdl/upnp_av.wsdl" ); $srv-&gt;setClass( "ContentDirectory" ); $srv-&gt;handle(); </code></pre> <p>and it works. For the procedures it successfully returns SOAP responses:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:schemas-upnp-org:service:ContentDirectory:1"&gt; &lt;SOAP-ENV:Body&gt; &lt;ns1:GetSearchCapabilitiesResponse&gt; &lt;SearchCaps&gt;*&lt;/SearchCaps&gt; &lt;/ns1:GetSearchCapabilitiesResponse&gt; &lt;/SOAP-ENV:Body&gt; &lt;/SOAP-ENV:Envelope&gt; </code></pre> <p>And this is absolutely correct xml syntax. But most of my DLNA devices won't accept this answer (but Toshiba TV works very well with it). So I took Wireshark and traced xml from other DLNA servers, and figured out, that all of them return slightly another xml, with namespace defined at ns1 body, not in envelope. This is sample correct lines, that all devices accepting well:</p> <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"&gt; &lt;s:Body&gt; &lt;u:GetSearchCapabilitiesResponse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1"&gt; &lt;SearchCaps&gt;*&lt;/SearchCaps&gt; &lt;/u:GetSearchCapabilitiesResponse&gt; &lt;/s:Body&gt; &lt;/s:Envelope&gt; </code></pre> <p>So the "ContentDirectory" xmlns just moved into a block from header. Both xmls are syntactically correct.</p> <p>Some guys also faced same problem: </p> <blockquote> <p><a href="https://stackoverflow.com/questions/7152278/problem-with-wsdl">Problem with WSDL</a></p> <p><a href="https://stackoverflow.com/questions/8650580/change-soap-prefixes-in-php">change soap prefixes in php</a></p> <p><a href="https://stackoverflow.com/questions/3322899/soap-response-namespace-issue">Soap Response Namespace issue</a></p> <p><a href="https://stackoverflow.com/questions/13957539/soapserver-maps-function">SoapServer maps functions incorectly when the wsdl messages have the same part name</a></p> <p><a href="https://stackoverflow.com/questions/23537231/php-soap-server-response">PHP Soap Server response formatting</a></p> </blockquote> <p>After 2-days of research, I figured out this workaround, to change binding from document to rpc method:</p> <pre><code>&lt;soap:binding style="document" --&gt; &lt;soap:binding style="rpc" </code></pre> <p>but when I doing this, the php script just crashes [somewhere inside of zend engine?], so I have a line in access.log mentioned 500 error happened, but it does not shown in error.log - the file keeps empty (of course, all the others 500 errors goes to error.log pretty well).</p> <p>As it is too big, I have uploaded WSDL file: <a href="http://pastebin.com/ZNG4DqAn" rel="nofollow noreferrer">http://pastebin.com/ZNG4DqAn</a></p> <p><strong>Is there something else, that I can try to workaround this trouble?</strong></p> <p>Remember, that TV handles this xml syntax completely correct, and everything works very well, but probably android phones does other xml parser that requires namespace in that place? Just right now I am already ready to do preg_replaces() to move that damned xmlns to the correct place :), but I am thinking this is not a path for the Jedies :)</p> <p>My environment: PHP 5.4.20, Apache 2.2, Windows 2012</p> </div>


<div class="post-text" itemprop="text"> <p>I have some code I've been dumped with and am actually stumped - I've worked with RPC and the JSON side of things before but I can't seem to get it to work over RPC when it works fine locally.</p> <pre><code>package main import ( "log" "net" "net/rpc" "net/rpc/jsonrpc" "reflect" ) type Foo interface { SayHello() error } type fakeFoo struct { internalValue string } func NewFakeFoo() *fakeFoo { f := &amp;fakeFoo{} f.internalValue = "123456789012347" return f } func (m *fakeFoo) SayHello() error { return nil } type FooManager struct { availableFoos []Foo } func NewFooManager() *FooManager { p := new(FooManager) p.availableFoos = make([]Foo, 0) return p } func AddFoo(mm *FooManager, m Foo) { mm.availableFoos = append(mm.availableFoos, m) log.Println("Added type ", reflect.TypeOf(m)) } func (mm *FooManager) GetAvailableFoos(in []Foo, out *[]Foo) error { log.Println("availableFoos:", reflect.TypeOf(mm.availableFoos)) log.Println("*out is", reflect.TypeOf(*out)) *out = append(in, mm.availableFoos...) log.Println("Out is:", reflect.TypeOf(*out)) return nil } func startServer(mm *FooManager) { server := rpc.NewServer() server.Register(mm) l, e := net.Listen("tcp", ":8222") if e != nil { log.Fatal("listen error:", e) } for { conn, err := l.Accept() log.Println("Incoming!") if err != nil { log.Fatal(err) } go server.ServeCodec(jsonrpc.NewServerCodec(conn)) } } func main() { fake1 := NewFakeFoo() fooHolder := NewFooManager() AddFoo(fooHolder, fake1) go startServer(fooHolder) log.Println("Using standard function call") var foos []Foo fooHolder.GetAvailableFoos(foos, &amp;foos) log.Println(foos) log.Println("Using RPC call") conn, err := net.Dial("tcp", "localhost:8222") if err != nil { log.Fatalln(err) } defer conn.Close() c := jsonrpc.NewClient(conn) err = c.Call("FooManager.GetAvailableFoos", foos, &amp;foos) if err != nil { log.Println(foos) log.Fatal("GetAvailableFoos error:", err) } log.Println("Success: ", foos) } </code></pre> <p>(also here but no tcp available urgh! <a href="http://play.golang.org/p/HmK-K09D2J" rel="nofollow">http://play.golang.org/p/HmK-K09D2J</a> )</p> <p>The output is pretty surprising as it indicates something going wrong with the marshalling rather than with the actual data - Running it in wireshark I can see the data being sent in the correct form (I had success using a similar technique in another question) but can't for the life of me get this to stop throwing marshalling bugs.</p> <p>The output from running this is as follows:</p> <pre><code>2015/09/07 10:04:35 Added type *main.fakeFoo 2015/09/07 10:04:35 Using standard function call 2015/09/07 10:04:35 availableFoos: []main.Foo 2015/09/07 10:04:35 *out is []main.Foo 2015/09/07 10:04:35 Out is: []main.Foo 2015/09/07 10:04:35 [0x1870a540] 2015/09/07 10:04:35 Using RPC call 2015/09/07 10:04:35 Incoming! 2015/09/07 10:04:35 [0x1870a540] 2015/09/07 10:04:35 GetAvailableFoos error:json: cannot unmarshal object into Go value of type main.Foo exit status 1 </code></pre> <p>Am I missing an interface/type trick or is this a bug in Go's marshalling?</p> </div>


在用wireshark抓TCP包的时候如何鉴别到底是不是其客户端连接服务端正确的IP和端口? 有没有什么技巧? 有没有入门级的wireshark教程?

从Java或.Net调用时,PHP WebService无法正常工作

<div class="post-text" itemprop="text"> <p>We have created a PHP Soap web service and works perfectly when called from a PHP client. But when we try to call it from Java it seems to return null. We have used SoapUI and everything seems to be alright... Used Wireshark to catch the data sent to the client and the data seems alright.</p> <p>We tried changing the namespace and it throws an exception:</p> <pre><code>javax.xml.ws.WebServiceException: Unexpected response element {http://[URLhere]//ws/sWSDL.php}getServiceXMLDetailsResponse expected: {subscriptionWS}getServiceXMLDetailsResponse at com.sun.xml.internal.ws.client.sei.ResponseBuilder$RpcLit.readResponse(ResponseBuilder.java:603) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:110) at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78) at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107) at $Proxy21.getServiceXMLDetails(Unknown Source) at reynardito.ReyNardito.main(ReyNardito.java:28) </code></pre> <p>And using Wireshark the data packet contains the right information, so it seems to be a parsing error of some kind...</p> <p>Anyone have solved this before?</p> </div>


课程主要面向嵌入式Linux初学者、工程师、学生 主要从一下几方面进行讲解: 1.linux学习路线、基本命令、高级命令 2.shell、vi及vim入门讲解 3.软件安装下载、NFS、Samba、FTP等服务器配置及使用




文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每


92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。


在系统内核开发中,经常会用到串口调试,利用VMware的Virtual Machine更是为调试系统内核如虎添翼。那么怎么搭建串口调试环境呢?因为最近工作涉及到这方面,利用强大的google搜索和自己


获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:csdn590)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!




C++语言基础视频培训课程:本课与主讲者在大学开出的程序设计课程直接对接,准确把握知识点,注重教学视频与实践体系的结合,帮助初学者有效学习。本教程详细介绍C++语言中的封装、数据隐藏、继承、多态的实现等入门知识;主要包括类的声明、对象定义、构造函数和析构函数、运算符重载、继承和派生、多态性实现等。 课程需要有C语言程序设计的基础(可以利用本人开出的《C语言与程序设计》系列课学习)。学习者能够通过实践的方式,学会利用C++语言解决问题,具备进一步学习利用C++开发应用程序的基础。




深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)


本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。




本课程内容系统、全面、简洁、通俗易懂,通过2个多小时的介绍,让大家对软件测试有个系统的理解和认识,具备基本的软件测试理论基础。 主要内容分为5个部分: 1 软件测试概述,了解测试是什么、测试的对象、原则、流程、方法、模型;&nbsp; 2.常用的黑盒测试用例设计方法及示例演示;&nbsp; 3 常用白盒测试用例设计方法及示例演示;&nbsp; 4.自动化测试优缺点、使用范围及示例‘;&nbsp; 5.测试经验谈。


未经我的允许,请不要转载我的文章,在此郑重声明!!! 请先配置安装好Java的环境,若没有安装,请参照我博客上的步骤进行安装! 安装Java环境教程https://blog.csdn.net/qq_40881680/article/details/83585542 Tomcat部署Web项目(一)·内嵌https://blog.csdn.net/qq_40881680/article/d...

2019数学建模A题高压油管的压力控制 省一论文即代码


图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写




微信小程序番茄时钟视频教程,本课程将带着各位学员开发一个小程序初级实战类项目,针对只看过官方文档而又无从下手的开发者来说,可以作为一个较好的练手项目,对于有小程序开发经验的开发者而言,可以更好加深对小程序各类组件和API 的理解,为更深层次高难度的项目做铺垫。

[已解决]踩过的坑之mysql连接报“Communications link failure”错误

目录 前言 第一种方法: 第二种方法 第三种方法(适用于项目和数据库在同一台服务器) 第四种方法 第五种方法(项目和数据库不在同一台服务器) 总结 前言 先给大家简述一下我的坑吧,(我用的是mysql,至于oracle有没有这样的问题,有心的小伙伴们可以测试一下哈), 在自己做个javaweb测试项目的时候,因为买的是云服务器,所以数据库连接的是用ip地址,用IDE开发好...


系列课程主要分为3大阶段:(1)首先掌握计算机视觉必备算法原理,结合Opencv进行学习与练手,通过实际视项目进行案例应用展示。(2)进军当下最火的深度学习进行视觉任务实战,掌握深度学习中必备算法原理与网络模型架构。(3)结合经典深度学习框架与实战项目进行实战,基于真实数据集展开业务分析与建模实战。整体风格通俗易懂,项目驱动学习与就业面试。 建议同学们按照下列顺序来进行学习:1.Python入门视频课程 2.Opencv计算机视觉实战(Python版) 3.深度学习框架-PyTorch实战/人工智能框架实战精讲:Keras项目 4.Python-深度学习-物体检测实战 5.后续实战课程按照自己喜好选择就可以

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!






《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。






DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复



Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂


十个c语言案例 (1)贪吃蛇 (2)五子棋游戏 (3)电话薄管理系统 (4)计算器 (5)万年历 (6)电子表 (7)客户端和服务器通信 (8)潜艇大战游戏 (9)鼠标器程序 (10)手机通讯录系统

相关热词 c#对文件改写权限 c#中tostring c#支付宝回掉 c#转换成数字 c#判断除法是否有模 c# 横向chart c#控件选择多个 c#报表如何锁定表头 c#分级显示数据 c# 不区分大小写替换