zblogendif的簡單介紹

pcap文件可讀性差

Pcap文件詳解

網(wǎng)站建設哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、成都小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了黃石港免費建站歡迎大家使用!

一、簡介

pcap文件是常用的數(shù)據(jù)報存儲格式,可以理解為就是一種文件格式,只不過里面的數(shù)據(jù)是按照特定格式存儲的,所以我們想要解析里面的數(shù)據(jù),也必須按照一定的格式。

普通的記事本打開pcap文件顯示的是亂碼,用安裝了HEX-Editor插件的Notepad++打開,能夠以16進制數(shù)據(jù)的格式顯示,或者使用sublime打開以十六進制的格式顯示。用wireshark這種抓包工具就可以正常打開這種文件,愉快地查看里面的網(wǎng)絡數(shù)據(jù)報了,同時wireshark也可以生成這種格式的文件。

還有一些其他網(wǎng)絡分析工具。

二、文件格式

Pcap header

Packet1 header

Packet1 Data

Packet2 header

Packet2 Data

?

如上圖所示,pcap文件的總體結(jié)構(gòu)就是文件頭-數(shù)據(jù)包頭1-數(shù)據(jù)包1-數(shù)據(jù)包頭2-數(shù)據(jù)包2的形式

1.Pcap Header

文件頭,每一個pcap文件只有一個文件頭,總共占24(B)字節(jié),以下是總共7個字段的含義。(一個字節(jié)可以由2個十六進制表示)

Magic(4B):標記文件開始,并用來識別文件和字節(jié)順序。值可以為0xa1b2c3d4或者0xd4c3b2a1,如果是0xa1b2c3d4表示是大端模式,按照原來的順序一個字節(jié)一個字節(jié)的讀,如果是0xd4c3b2a1表示小端模式,下面的字節(jié)都要交換順序?,F(xiàn)在的電腦大部分是小端模式。

ps:網(wǎng)絡字節(jié)序一般是大端存儲,主機x86字節(jié)序一般是小端存儲,比如我們經(jīng)過網(wǎng)絡發(fā)送0x12345678這個整形,在80X86平臺中,它是以小端法存放的,在發(fā)送前需要使用系統(tǒng)提供的htonl將其轉(zhuǎn)換成大端法存放

Major(2B):當前文件的主要版本號,一般為0x0200

Minor(2B):當前文件的次要版本號,一般為0x0400

ThisZone(4B):當?shù)氐臉藴适录绻玫氖荊MT則全零,一般全零

SigFigs(4B):時間戳的精度,一般為全零

SnapLen(4B):最大的存儲長度,該值設置所抓獲的數(shù)據(jù)包的最大長度,如果所有數(shù)據(jù)包都要抓獲,將該值設置為65535(0xFFFF); 例如:想獲取數(shù)據(jù)包的前64字節(jié),可將該值設置為64

LinkType(4B):鏈路類型

2.Packet Header

數(shù)據(jù)包頭可以有多個,每個數(shù)據(jù)包頭后面都跟著真正的數(shù)據(jù)包。數(shù)據(jù)包頭則依次為:時間戳(秒)、時間戳(微妙)、抓包長度和實際長度,依次各占4個字節(jié)。以下是Packet Header的4個字段含義

Timestamp(4B):時間戳高位,精確到seconds,這是Unix時間戳。捕獲數(shù)據(jù)包的時間一般是根據(jù)這個值

Timestamp(4B):時間戳低位,能夠精確到microseconds

Caplen(4B):當前數(shù)據(jù)區(qū)的長度,即抓取到的數(shù)據(jù)幀長度,由此可以得到下一個數(shù)據(jù)幀的位置。

Len(4B):離線數(shù)據(jù)長度,網(wǎng)路中實際數(shù)據(jù)幀的長度,一般不大于Caplen,多數(shù)情況下和Caplen值一樣

3.Packet Data

Packet是鏈路層的數(shù)據(jù)幀,長度就是Packet Header中定義的Caplen值,所以每個Packet Header后面都跟著Caplen長度的Packet Data。也就是說pcap文件并沒有規(guī)定捕獲的數(shù)據(jù)幀之間有什么間隔字符串。Packet數(shù)據(jù)幀部分的格式就是標準的網(wǎng)絡協(xié)議格式了。

例子:

?

紅色部分是Pcap Header,藍色部分是Packet Header,后邊是Packet Date

Pcap Header的Magic:d4 c3 b2 a1,表示是小端模式,后面的字節(jié)從后往前讀 a1b2c3d4 小端模式

Pcap Header的Major:02 00,計算機讀的應該是00 02。最大存儲長度SnapLen:ff ff 00 00 ,同理計算機讀的應該是00 00 ff ff,所以是2的16次方減一,是65535個字節(jié)。LinkType:01 00 00 00 ,實際是00 00 00 01,是以太網(wǎng)類型。

藍色部分的Packet Header我就不一一說了,重點關(guān)注Caplen:3c 00 00 00,計算機讀的是00 00 00 3c,轉(zhuǎn)換成十進制就是60,所以后面的60個字節(jié)都是一個數(shù)據(jù)幀。之后就又是一個Pcap Header,如此循環(huán)。

?

三、以太網(wǎng)幀(Ethernet)、IP包、TCP、UDP的長度范圍

1、以太網(wǎng)幀

MAC地址則是48位的(6個字節(jié)),通常表示為12個16進制數(shù),每2個16進制數(shù)之間用冒號隔開,如08:00:20:0A:8C:6D就是一個MAC地址。

以太網(wǎng)地址頭部:目的地址(6字節(jié))、源地址(6字節(jié))、以太網(wǎng)類型(2字節(jié))

目前以太網(wǎng)幀有5種,交換機之間BPDU(橋協(xié)議數(shù)據(jù)單元)數(shù)據(jù)包使用的是IEEE802.3/LLC幀,其格式如下:

字段 長度(字節(jié)) 目的

前導碼(Preamble) 7 0x55,一串1、0間隔,用于信號同步

幀開始符(SFD) 1 1字節(jié)0xD5(10101011),表示一幀開始

目的MAC地址 6 指明幀的接受者

源MAC地址 6 指明幀的發(fā)送者

長度(Length)/類型(Type) 2 0~1500保留為長度域值,1536~65535保留為類型域值(0x0600~0xFFFF)

數(shù)據(jù)和填充(Data and Pad) 46~1500 高層的數(shù)據(jù),通常為3層協(xié)議數(shù)據(jù)單元。對于TCP/IP是IP數(shù)據(jù)包(注:如果幀長小于64字節(jié),則要求“填充”,以使這個幀的長度達到64字節(jié))

幀校驗序列(FCS) 4 使用CRC計算從目的MAC到數(shù)據(jù)域這部分內(nèi)容而得到的校驗和

?

以太網(wǎng)MAC幀格式

在Linux中,以太網(wǎng)幀頭部的結(jié)構(gòu)體如下:

/ 10Mb/s ethernet header /

struct ether_header

{

u_int8_t ether_dhost[ETH_ALEN]; / destination eth addr /

u_int8_t ether_shost[ETH_ALEN]; / source ether addr /

u_int16_t ether_type; / packet type ID field /

} __attribute__ ((__packed__));

其中的ETH_ALEN為6,因為地址為6個字節(jié),共48位——這個地址就是常說的物理地址,或MAC地址。它的第3個成員ether_type是以太幀類型,有如下這些:

/ Ethernet protocol ID's /

#define ETHERTYPE_PUP 0x0200 / Xerox PUP /

#define ETHERTYPE_SPRITE 0x0500 / Sprite /

#define ETHERTYPE_IP 0x0800 / IP /

#define ETHERTYPE_ARP 0x0806 / Address resolution /

#define ETHERTYPE_REVARP 0x8035 / Reverse ARP /

#define ETHERTYPE_AT 0x809B / AppleTalk protocol /

#define ETHERTYPE_AARP 0x80F3 / AppleTalk ARP /

#define ETHERTYPE_VLAN 0x8100 / IEEE 802.1Q VLAN tagging /

#define ETHERTYPE_IPX 0x8137 / IPX /

#define ETHERTYPE_IPV6 0x86dd / IP protocol version 6 /

#define ETHERTYPE_LOOPBACK 0x9000 / used to test interfaces /

注:如果幀長小于64字節(jié),則要求“填充”,以使這個幀的長度達到64字節(jié)

?

但是我們觀察到這個以太網(wǎng)幀只有60字節(jié),why?

據(jù)RFC894的說明,以太網(wǎng)封裝IP數(shù)據(jù)包的最大長度是1500字節(jié)(所以,數(shù)據(jù)鏈路層的最大傳輸單元(Maximum Transmission Unit,MTU)是1500字節(jié)),也就是說以太網(wǎng)最大幀長應該是以太網(wǎng)首部加上1500,再加上7字節(jié)的前導同步碼和1字節(jié)的幀開始定界符,具體就是:7字節(jié)前導同步嗎+1字節(jié)幀開始定界符+6字節(jié)的目的MAC+6字節(jié)的源MAC+2字節(jié)的幀類型+1500+4字節(jié)的FCS。

按照上述,最大幀應該是1526字節(jié),但是實際上我們抓包得到的最大幀是1514字節(jié),為什么不是1526字節(jié)呢?原因是當數(shù)據(jù)幀到達網(wǎng)卡時,在物理層上網(wǎng)卡要先去掉前導同步碼和幀開始定界符,然后對幀進行CRC檢驗,如果幀校驗和錯,就丟棄此幀。如果校驗和正確,就判斷幀的目的硬件地址是否符合自己的接收條件(目的地址是自己的物理硬件地址、廣播地址、可接收的多播硬件地址等),如果符合,就將幀交“設備驅(qū)動程序”做進一步處理。這時我們的抓包軟件才能抓到數(shù)據(jù),因此,抓包軟件抓到的是去掉前導同步碼、幀開始分界符、FCS之外的數(shù)據(jù),只留下了目的地址,源地址,類型字段,其最大值是6+6+2+1500=1514。

以太網(wǎng)規(guī)定,以太網(wǎng)幀數(shù)據(jù)域部分最小為46字節(jié),也就是以太網(wǎng)幀最小是6+6+2+46+4=64。除去4個字節(jié)的FCS,因此,抓包時就是60字節(jié)。當數(shù)據(jù)字段的長度小于46字節(jié)時,MAC子層就會在數(shù)據(jù)字段的后面填充以滿足數(shù)據(jù)幀長不小于64字節(jié)。由于填充數(shù)據(jù)是由MAC子層負責,也就是設備驅(qū)動程序。不同的抓包程序和設備驅(qū)動程序所處的優(yōu)先層次可能不同,抓包程序的優(yōu)先級可能比設備驅(qū)動程序更高,也就是說,我們的抓包程序可能在設備驅(qū)動程序還沒有填充不到64字節(jié)幀的時候,已經(jīng)捕獲了數(shù)據(jù)。因此不同的抓包工具抓到的數(shù)據(jù)幀的大小可能不同。(比如,wireshark抓到的可能沒有填充數(shù)據(jù)段,而sniffer抓到的就有填充數(shù)據(jù)段)

2、IP數(shù)據(jù)包

IP頭大小最小為20字節(jié)。所以,網(wǎng)絡層的MTU=數(shù)據(jù)鏈路層的MTU1500-20=1480字節(jié)。

由于IP協(xié)議提供為上層協(xié)議分割和重組報文的功能,在IP頭中,用2個字節(jié)來描述報文的長度,2個字節(jié)所能表達的最大數(shù)字就是65535。所以,IP數(shù)據(jù)包的最大長度就是64K字節(jié)(65535)。

3、TCP(傳輸層)

TCP頭部選項是一個可變長的信息,這部分最多包含40字節(jié),因為TCP頭部最長60字節(jié),(其中還包含前面20字節(jié)的固定部分)。

依靠IP協(xié)議提供的報文分割和重組機制,TCP包頭中就沒有“包長度”字段,而完全依靠IP層去處理分幀。這就是為什么TCP常常被稱作一種“流協(xié)議”的原因,開發(fā)者在使用TCP服務的時候,不必去關(guān)心數(shù)據(jù)包的大小,只需講SOCKET看作一條數(shù)據(jù)流的入口,往里面放數(shù)據(jù)就是了,TCP協(xié)議本身會進行擁塞/流量控制。

選項和填充,n4字節(jié),常見的可選字段是最長報文大小 MSS(Maximum Segment Size) 。每個連接方通常都在通信的第一個報文段(為建立連接而設置 SYN 標志的那個段)中指明這個選項,它指明本端所能接收的最大長度的報文段。選項長度不一定是 32 位字的整數(shù)倍,所以要加填充位,使得報頭長度成為整字數(shù)

MTU和MSS值的關(guān)系:MTU=MSS+IP Header+TCPHeader

通信雙方最終的MSS值=較小MTU-IP Header-TCP Header

4、UDP(傳輸層)

UDP包的首部要占用8字節(jié),因為UDP提供無連接服務,它的數(shù)據(jù)包包頭,是固定長度的8字節(jié),不存在可選字段,可以減少很多傳輸開銷,所以它無需使用首部字段長,因為它的首部就是固定的。

UDP則與TCP不同,UDP包頭內(nèi)有總長度字段,同樣為兩個字節(jié),因此UDP數(shù)據(jù)包的總長度被限制為65535,這樣恰好可以放進一個IP包內(nèi),使得 UDP/IP協(xié)議棧的實現(xiàn)非常簡單和高效。

所以UDP包的最大值是:IP數(shù)據(jù)包的最大長度65535-IP頭的大小20-UDP頭的大小=65507字節(jié)。最小值是0。

這個值也就是你在調(diào)用getsockopt()時指定SO_MAX_MSG_SIZE所得到返回值,任何使用SOCK_DGRAM屬性的socket,一次send的 數(shù)據(jù)都不能超過這個值,否則必然得到一個錯誤。

————————————————

版權(quán)聲明:轉(zhuǎn)載

參考鏈接:

;dist_request_id=1328655.9369.16158574515802585depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control

原文鏈接:;request_id=166962502316800184133845biz_id=0utm_me

文章知識點與官方知識檔案匹配

算法技能樹首頁概覽

35079 人正在系統(tǒng)學習中

打開CSDN APP,看更多技術(shù)內(nèi)容

C++ 解析pcap文件_c++ pcap_fulianzhou的博客

#ifndef _PCAP_PARSER_H_ #define _PCAP_PARSER_H_ #include stdint.h #pragma pack(1) //pacp文件頭結(jié)構(gòu)體 struct pcap_file_header { uint32_t magic; /* 0xa1b2c3d4 */ uint16_t version_major; /* magjor Versi...

繼續(xù)訪問

ProxySQL--靈活強大的MySQL代理層_kaifly的博客_proxysql

~]# date; service iptables restart; tcpdump -i em2 host 192.168.1.34 and port 3306 and host not 192.168.1.10 -w /tmp/sysbench-proxysql-network-issue.pacp 發(fā)現(xiàn),sysbench“一直”在重傳由于iptables新規(guī)則而無法返回的幾個請...

繼續(xù)訪問

網(wǎng)絡安全系列-二十五: PCAP文件格式詳解及讀取PCAP文件源碼示例

在Linux里,pcap是一種通用的數(shù)據(jù)流格式,是用于保存捕獲的網(wǎng)絡數(shù)據(jù)的一種非?;镜母袷?。 很多開源的項目都使用這種數(shù)據(jù)格式,如wireshark、tcpdump、scapy、snort 本文針對pcap的文件格式進行詳解,并提供讀取pcap文件的源代碼示例

繼續(xù)訪問

使用wireshark分析tcpdump出來的pcap文件

個人認為tcpdump+wireshark是很精確的,之前在網(wǎng)上查閱移動端流量測試,大多講tcpdump這部分很精細,但是沒有講到詳細使用wireshark分析tcpdump到的.pcap文件,這里做一個詳細的講解,僅供大家參考。 本人wireshark版本是V 2.2.1。tcpdump到的.pcap文件可以直接雙擊打開(默認打開方式為wireshark,或者你在wireshark中選擇打開文件也可以),抓取到的數(shù)據(jù)包很多,我們需要過濾一些想要的數(shù)據(jù),那么在如圖所示的輸入框中輸入表達式過濾即可: Wire

繼續(xù)訪問

2020-2021項目遇到的部分問題 編程語言C++ 編程軟件QT_Qingshan_z的博...

4.需要點擊安裝Win10Pacp文件夾中的對應內(nèi)容。 更改編譯器后,程序中文字符報錯顯示,包含換行符等字符顯示錯誤 改兩個地方: 改編碼為UTF-8:編輯—Select Encoding—UTF-8—按編碼保存 工具—選項—文本—行為—UTF-8—如果是UTF-8添加...

繼續(xù)訪問

BGP路由器協(xié)議排錯教程:與平臺相關(guān)的數(shù)據(jù)包捕獲工具_AMZ學術(shù)的博客-CSDN...

注釋 分析 EPC 捕獲信息最簡單的方式是把這些信息導出到遠端服務器,并使用Wireshark 讀取導出的.pacp 文件 2.5.3 Ethanalyzer Ethanalyzer 是 NX-OS 中的 TShark 實現(xiàn)。TShark 是終端版本的 Wireshark。它可以在所有 Nexus 平臺上捕獲帶...

繼續(xù)訪問

linux 下 tcpdump 詳解 前篇(libpcap庫源碼分析)

一 概述 用簡單的話來定義tcpdump,就是:dump the traffic on a network,根據(jù)使用者的定義對網(wǎng)絡上的數(shù)據(jù)包進行截獲的包分析工具。 至于tcpdump參數(shù)如何使用,這不是本章討論的重點。 liunx系統(tǒng)抓包工具,毫無疑問就是tcpdump。而windows的抓包工具,wireshark也是一款主流的抓包工具。wireshark 使用了winpcap庫。tcpdump...

繼續(xù)訪問

?

pcap抓包庫部分函數(shù)說明

學習通過偵聽網(wǎng)卡獲取報文的程序,遇到部分pacp抓包庫中的函數(shù),在查閱資料后,作以下整理說明: 1. pcap_next_ex(): 基于非回調(diào)函數(shù)的捕獲數(shù)據(jù)包,參數(shù)有三個,一個網(wǎng)卡描述符,兩個指針,兩個指針會被初始化并返回給用戶,一個是pcap_pkthdr結(jié)構(gòu),一個是接收數(shù)據(jù)的緩沖區(qū)。pcap_pkthdr結(jié)構(gòu)如下所示: struct pcap_pkthdr { struc

繼續(xù)訪問

網(wǎng)絡安全、Web安全、滲透測試之筆經(jīng)面經(jīng)總結(jié)(二)_普通網(wǎng)友的博客-CSD...

在Unix/Linux平臺上,可以直接使用Socket構(gòu)造IP包,在IP頭中填上虛假的IP地址,但需要root權(quán)限;在Windows平臺上,不能使用Winsock,需要使用Winpacp(也可以使用Libnet)。例如在Linux系統(tǒng),首先打開一個Raw Socket(原始套接字),然后自己編寫IP...

繼續(xù)訪問

Linux_liubo525的博客

文件-新建虛擬機-典型-稍后安裝操作系統(tǒng)-Linux+版本-虛擬機名稱-默認最大磁盤大小+存儲為單個文件2)安裝CentOS操作系統(tǒng)CD/DVD-使用ISO鏡像文件-選擇下載好了的ISO文件-打開虛擬機(開始安裝虛擬機)...

繼續(xù)訪問

vlan 報文抓包.pcap

vlan報文,用于文檔資源,學習vlan協(xié)議的時,可以下載看一下。

Pcap 數(shù)據(jù)包捕獲格式詳解

Pcap 是 Packet Capture 的英文縮寫,是一種行業(yè)標準的網(wǎng)絡數(shù)據(jù)包捕獲格式。如果你是網(wǎng)絡開發(fā)人員,那么通常會使用 Wireshark、Tcpdump 或 WinDump 等網(wǎng)絡分析器捕獲 TCP/IP 數(shù)據(jù)包,而抓包后存盤的文件格式就是 .pcap 文件。 文件格式 Pcap 文件格式是一種二進制格式,支持納秒級精度的時間戳。雖然這種格式在不同的實現(xiàn)中有所不同,但是所有的 pcap 文件都具有如下圖所示的一般結(jié)構(gòu)。 全局報頭 全局報頭(Global Header)包含魔數(shù)(Magic nu

繼續(xù)訪問

?

滲透測試工程師面試題大全(164道)_Kal1的博客_滲透測試...

14.拿到一個 webshell 發(fā)現(xiàn)網(wǎng)站根目錄下有.htaccess 文件,我們能做什么? 能做的事情很多,用隱藏網(wǎng)馬來舉例子: 插入FilesMatch “xxx.jpg” SetHandler application/x-httpd-php .jpg 文件會被解析成.php 文件 15.注入漏洞只能查賬...

繼續(xù)訪問

dm 數(shù)據(jù)引流工具_hu5350026的博客_數(shù)據(jù)引流

log :該應用程序的日志記錄文件存放的目錄; third :該應用程序依賴的第三方 jar 文件存放的目錄; wapper :該應用程序以服務方式啟動包裝文件的存放目錄; service_start.bat/sh :該應用程序以服務方式啟動時的啟動服務腳本文件; ...

繼續(xù)訪問

MISC:流量包取證(pcap文件修復、協(xié)議分析、數(shù)據(jù)提取)

鼠標協(xié)議:每一個數(shù)據(jù)包的數(shù)據(jù)區(qū)有四個字節(jié),第一個字節(jié)代表按鍵,當取 0x00 時,代表沒有按鍵、為 0x01 時,代表按左鍵,為 0x02 時,代表當前按鍵為右鍵。第二個字節(jié)可以看成是一個 signed byte 類型,其最高位為符號位,當這個值為正時,代表鼠標水平右移多少像素,為負時,代表水平左移多少像素。HTTPs = HTTP + SSL / TLS. 服務端和客戶端的信息傳輸都會通過 TLS 進行加密,所以傳輸?shù)臄?shù)據(jù)都是加密后的數(shù)據(jù)。但是,如果采用主動模式,那么數(shù)據(jù)傳輸端口就是 20;

繼續(xù)訪問

c語言判斷pcap文件結(jié)尾,PCAP文件擴展名 - 什么是.pcap以及如何打開? - ReviverSoft...

你在這里因為你有,有一個文件擴展名結(jié)尾的文件.pcap.文件與文件擴展名.pcap只能通過特定的應用程序推出。這有可能是.pcap文件是數(shù)據(jù)文件,而不是文件或媒體,這意味著他們并不是在所有觀看。什么是一nbsp.pcapnbsp文件?該.pcap文件擴展名主要使用Wireshark相關(guān);用于分析網(wǎng)絡的程序。 .pcap文件是使用程序創(chuàng)建的數(shù)據(jù)文件,并且它們包含的...

繼續(xù)訪問

UEBA架構(gòu)設計之路1_lionzl的博客

Tcpdump,tcpflow生成的pacp或流數(shù)據(jù),以及其他數(shù)據(jù)包級和session級信息 性能下降,超時,瓶頸或可疑活動,表明網(wǎng)絡可能受到威脅或遠程攻擊 Syslog 路由、交換、其他網(wǎng)絡設備 故障、分析、安全審計 WEB訪問日志 WEB服務器 WEB分析 PROXY日...

繼續(xù)訪問

pcap文件解析--pcap文件頭與包文件頭(一)

初識Pcap文件 在開始讀取pcap文件之前,先讓我們來看看Pcap文件的大概結(jié)構(gòu)。 如上圖所示在一個Pcap文件中存在1個Pcap文件頭和多個數(shù)據(jù)包,其中每個數(shù)據(jù)包都有自己的頭和包內(nèi)容。 下面我們先看看PCAP文件頭每個字段是什么意思: magic為文件識別頭,pcap固定為:0xA1B2C3D4。(4個字節(jié)) magor version為主版本號(2個

繼續(xù)訪問

pcap文件linux怎么打開,pcap文件用什么打開

linux 應用 pcap文件怎么打開如果你是一個測試入侵偵測系統(tǒng)或一些網(wǎng)絡訪問控制策略的網(wǎng)絡管理員,那么你經(jīng)常需要抓取數(shù)據(jù)包并在離線狀態(tài)下分析這些文件。當需要保存捕獲的數(shù)據(jù)包時,我們一般會存儲為 libpcap 的數(shù)據(jù)包格式 pcap,這是一種被許多開源的嗅探工具以及捕包程序請問用什么軟件打開*.pcap格式的文件?CSS布局HTML小編今天和大家分享解wireshark 怎么打不開pcap文件...

繼續(xù)訪問

?

Wireshark網(wǎng)絡分析實戰(zhàn)——Wireshark的安裝和抓包

一、Wireshark簡介 本節(jié)涵蓋以下內(nèi)容: 安置Wireshark(主機/程序); 開始抓包; 本書的前言曾提到過網(wǎng)絡排障以及內(nèi)置于Wireshark能幫助排障的各種工具。一旦決定動用Wireshark協(xié)議分析軟件,在使用之前,則有必要先確定該軟件在網(wǎng)絡中的部署(或安裝)位置。除此之外,還得對該軟件做一些基本的配置,至少應讓其界面看起來更為友好。 用Wireshark執(zhí)行基本的抓包操作,配置起來并不麻煩,但是該軟件也包含了很多高級配置選項,可用來應對某些特殊情況。這樣的特殊情況包括令Wireshar

繼續(xù)訪問

?

學習筆記——C++實現(xiàn)ARP欺騙

以下代碼大體上是沒有問題的,可以根據(jù)自己的一些需求進行修改! 謝謝指正錯誤 在課設期間,從網(wǎng)上學習了簡單的實現(xiàn)ARP欺騙 ARP欺騙的原理很簡單:通過不斷的向目標發(fā)送ARP包,致使目標主機的ARP緩存表中正確的IP映射的是錯誤的MAC地址 在書上的介紹中,采用了WinPcap的開發(fā)包,這樣很方便的對網(wǎng)卡進行操作 所以,首先需要安裝winpacp,并下載開發(fā)者包......

繼續(xù)訪問

熱門推薦 pcap文件格式及文件解析

第一部分:PCAP包文件格式 一 基本格式: 文件頭 數(shù)據(jù)包頭數(shù)據(jù)報數(shù)據(jù)包頭數(shù)據(jù)報...... 二、文件頭: 文件頭結(jié)構(gòu)體 sturct pcap_file_header { DWORD magic; DWORD version_major; DWORD ve

繼續(xù)訪問

最新發(fā)布 pcap詳解

pcap格式及API詳解

繼續(xù)訪問

?

從pcap文件提取包長度序列

從pcap文件提取包長度序列 1. 抓包 在windows系統(tǒng),使用wireshark抓取YY語音流數(shù)據(jù),最好是單條鏈路單向的。數(shù)據(jù)存儲為pcap文件。 2. 格式轉(zhuǎn)換 在linux系統(tǒng)終端,使用tcpdump命令把pcap文件轉(zhuǎn)成txt文件。 命令為:tcpdump -r input.pcap output.txt 3. 提取 在windows系統(tǒng),使用matlab從轉(zhuǎn)

繼續(xù)訪問

Ethernet Packet 解析

目錄 引言 引言 接上篇文章 Pcap文件格式 ,我們分析了Pcap文件的global Header 和 Pcap Packet Header現(xiàn)在來分析一下Pcap Data。因為global Header 定義的 network 01 為 ETHERNET, 所以這篇文章來分析一下Pcap Data為Ethernet Packet類型的數(shù)據(jù)。 Ethernet Packet 結(jié)構(gòu) 參考文檔 Ethernet_frame--wikipedia IEEE_802.1.

繼續(xù)訪問

pcap包解析

pacp包解析 在接觸激光雷達的時候,不可避免的第一步就是看硬件說明書以及調(diào)試廠商發(fā)的樣例數(shù)據(jù)。一般情況下,廠商在存儲硬件的數(shù)據(jù)包的時候,都是通過存儲pacp包實現(xiàn)的,所以如何讀取pacp包,并從中解析出真正有用的數(shù)據(jù)就變得很重要,接下來我們一步步講。 1.pacp包結(jié)構(gòu) 一個Pcap文件包括“Pcap報頭”,“數(shù)據(jù)區(qū)”兩個部分,其中數(shù)據(jù)區(qū)又分成多個數(shù)據(jù)包,每個包有報頭和數(shù)據(jù)兩個部分,總體結(jié)構(gòu)可見...

繼續(xù)訪問

?

pcap文件內(nèi)容保存為csv文件

將pcap文件內(nèi)容導出為csv文件

繼續(xù)訪問

pacp文件讀取緩存

如何打造企業(yè)團隊,如何為團隊的成功賦能

如何打造企業(yè)團隊,如何為團隊的成功賦能

----企業(yè)需要解決問題以及創(chuàng)造良好工作氛圍和成長機會,實現(xiàn)企業(yè)目標與員工目標的無縫對接

一、企業(yè)必須要解決好的幾個問題,招聘員工,打造團隊,就是要招聘能夠解決下述問題的人才。

1、企業(yè)未來戰(zhàn)略發(fā)展問題。這是企業(yè)發(fā)展需要解決的首要問題、核心問題和至關(guān)重要的戰(zhàn)略問題,也是企業(yè)需要解決的主要矛盾。主要矛盾解決了,其他次要矛盾才能迎刃而解。企業(yè)的發(fā)展目標和發(fā)展方向不對,南轅北轍,做的越多,損失越大,距離成功的目標越遠。這還是企業(yè)愿景、事業(yè)使命、企業(yè)規(guī)律、企業(yè)精神、企業(yè)作風等企業(yè)靈魂問題。也是企業(yè)凝聚一流人才、整合優(yōu)質(zhì)資源,吸引巨量資金、股東和客戶的主要依據(jù)。

2、企業(yè)年度目標和計劃的落地、執(zhí)行問題。這是企業(yè)大幅增加顧客流、現(xiàn)金流和純利潤的核心問題,主要解決企業(yè)的造血功能和生存問題。企業(yè)戰(zhàn)略解決的是企業(yè)發(fā)展壯大問題。

3、對突發(fā)事件處理的應急問題。要有化危為機能力,不能浪費每一次危機,有危必有機。因為每一次危機都是企業(yè)不可多得的轉(zhuǎn)折點,是企業(yè)實現(xiàn)彎道超車,徹底改變企業(yè)命運,促進企業(yè)實現(xiàn)量變到質(zhì)變的轉(zhuǎn)化,實現(xiàn)企業(yè)量和質(zhì)的二次突破不可多得的發(fā)展機遇。

4、企業(yè)的學習和培訓問題。企業(yè)的核心競爭力是企業(yè)的學習力。是創(chuàng)造創(chuàng)新型企業(yè),實現(xiàn)企業(yè)保持蓬勃創(chuàng)新活力、跟上時代發(fā)展潮流的主要保障。企業(yè)學習保證企業(yè)永遠不會被時代所拋棄,永久保持蓬勃朝氣、昂揚銳氣、浩然正氣,使企業(yè)永久保持欣欣向榮的蓬勃發(fā)展勢頭。

5、企業(yè)的營銷和宣傳問題。營銷是讓客戶找企業(yè),推銷是讓企業(yè)去找客戶。企業(yè)的營銷和宣傳是指通過對企業(yè)產(chǎn)品、服務、商業(yè)模式、企業(yè)文化的廣泛宣傳和推廣,通過塑造企業(yè)的知名度、美譽度、可信度,通過加強企業(yè)的影響力、凝聚力、號召力,通過造勢、創(chuàng)勢創(chuàng)造企業(yè)勢不可擋的強大勢能,來達到為客戶創(chuàng)造需求,引導需求,實現(xiàn)企業(yè)客戶流、現(xiàn)金流和凈利潤倍增的戰(zhàn)略目標。

二、企業(yè)團隊職責:

1、企業(yè)核心領(lǐng)導團隊(董事長辦公室)職責:定戰(zhàn)略、搭班子、“創(chuàng)造良好工作氛圍,積淀優(yōu)秀企業(yè)文化”。

2、核心職業(yè)管理團隊(各分公司或各事業(yè)部總經(jīng)理副總經(jīng)理)職責:帶團隊,抓落實,定制度,定目標,定標準,定時間,做好打卡、督導和監(jiān)督、檢查;處理突發(fā)事件和應急問題。

3、中層管理團隊(部門經(jīng)理)職責:執(zhí)行力、戰(zhàn)斗力、學習力、落實企業(yè)及部門年度工作計劃、工作目標和工作任務,做好師傅帶徒弟,為企業(yè)培養(yǎng)大批量優(yōu)秀人才。

[if !supportLists]一、???[endif]方向錯了,背道而馳,做的越多錯的越多。企業(yè)定戰(zhàn)略至關(guān)重要。

[if !supportLists]二、???[endif]團隊存在的問題:1、有能力的沒意愿(有才無德),2、有意愿的沒能力(有德無才),3、有意愿有能力的留不下來(有才有德的少之又少),4、相互推諉扯皮,5、老板安排的工作沒有結(jié)果。

[if !supportLists]三、???[endif]如何解決上述團隊問題并為團隊賦能:

[if !supportLists]1、? [endif]首先要招聘能夠解決問題、善于解決問題的人才。

企業(yè)需要解決的幾個問題 :1)企業(yè)未來發(fā)展的戰(zhàn)略問題;2)年度計劃和目標的落地問題;3)對突發(fā)事件處理的應急問題;4)企業(yè)的學習和培訓問題;5)企業(yè)的營銷宣傳問題。

[if !supportLists]2、? [endif]要用一群人影響一群人,一群人帶動一群人。師傅帶徒弟。

老板影響和帶動核心團隊,核心團隊影響和帶動中層管理,中層管理影響和帶動核心員工,核心員工影響和帶動最廣泛的普通員工。

[if !supportLists]3、? [endif]給團隊機會和時間促進其成長,給他們獨立思考、獨立解決問題的時間,讓他們有獨立思考、獨立解決問題的能力,這是最重要的學習和培訓,也是企業(yè)必須付出的成長成本。老板做選擇題,不做問答題。與團隊共同探討方法措施,哪怕他們的辦法笨也不輕易干預,只有這樣團隊才能成長。團隊有巨大的成長空間,才能留住優(yōu)秀人才,老板才能從紛繁復雜的企業(yè)管理實務中解放出來,輕松解決更重要企業(yè)發(fā)展方向和發(fā)展戰(zhàn)略的事。

[if !supportLists]四、???[endif]團隊賦能的八個步驟:

[if !supportLists]1、? [endif]創(chuàng)造一個好的工作氛圍。工作的人文環(huán)境,工作的文化背景。企業(yè)文化一部分。

讓員工工作起來舒心開心,具有無限活力。據(jù)權(quán)威機構(gòu)調(diào)查,企業(yè)85%的業(yè)績不是良好的工作氛圍創(chuàng)造出來的,而不是靠績效考核逼出來的,特別是針對文旅、科技等高智商的創(chuàng)造性行業(yè)。

[if !supportLists]2、? [endif]創(chuàng)皂信任文化和認可文化。多鼓勵少批評,士為知己者死。

[if !supportLists]3、? [endif]不能朝令夕改;4、給員工單獨工作的機會,讓員工能力得到提升。

[if !supportLists]4、? [endif]結(jié)果導向,過程管理;6、要相互補臺,不能相互拆臺,相互排擠和打壓。

7、明確年度公司目標和員工個人目標,并進行有效對接。

8、制定具有挑戰(zhàn)性的激勵制度和獎勵措施,多獎少罰,多鼓勵少批評。

五、情緒管控。情商,讓人舒服。正能量,以積極的態(tài)度對待問題。

六、心智模式:幫助團隊員工設置目標,分解目標,實現(xiàn)目標。

確定領(lǐng)域、目標、標準、策略、計劃、行動、監(jiān)督、檢查、考核。

七、資源的協(xié)調(diào)和整合:為團隊及員工制定好的營銷政策及好的營銷模式及制度。贊美員工的行為、激勵員工的每一個階段的每一次進步和成長。

八、物質(zhì)激勵加精神激勵,結(jié)果激勵加過程激勵。每一次工作任務,最少要設置三個甚至九個團隊PK,每一個月開一次表彰會并進行團隊排名和團隊內(nèi)員工排名。這樣做不但可以創(chuàng)造三倍以上業(yè)績,而且還可以排除掉團隊對老板的各種要挾和威脅。

九、做好引導,多問怎么辦?少問為什么?

如何做好引導?1、我說給您聽;2、我做給您看;3、你做做試試看?4、討論,談感受,總結(jié)經(jīng)驗和差距;5、形成改善和好的新習慣。

如何鑄造中國企業(yè)戰(zhàn)無不勝的企業(yè)魂

--- 實現(xiàn)中國企業(yè)的毛澤東化,即中國企業(yè)的信仰化

( 像毛主席締造偉大軍隊一樣創(chuàng)建企業(yè))

勢文化,個人與企業(yè)成功的密電碼

——企業(yè)文化信仰化體系之:勢文化。察勢者智,駕勢者贏,創(chuàng)勢者成

文旅企業(yè)如何度過新冠肺炎疫情危機?

---不要浪費任何一次危機,有危必有機。

創(chuàng)建學習型家庭,跟上時代的發(fā)展步伐

----今天學習職業(yè)素養(yǎng)、組織倫理和晉升要素

崔士忠:中國企業(yè)面臨的問題及對策

------

做好 企業(yè)文化 信仰體系,中國民族企業(yè)才能做到“強、大、久”。

后冠狀病毒時代,中小企業(yè)如何提高企業(yè)免疫力

----做線上、線下相結(jié)合的健康產(chǎn)業(yè)、教育產(chǎn)業(yè)和文旅產(chǎn)業(yè)

如何創(chuàng)造一個新社會、新秩序、新世界?

---- 天下為公、天人合一、天生萬物,厚德載物

中國人民的樸素信仰與政治信仰

-----愛國主義和共產(chǎn)主義,中華大眾哲學城是啟動信仰力量助力實現(xiàn)中國夢的文旅思政大課堂

用javascript onclick時顯示一個浮動的div

!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" ""

html xmlns=""

head

meta http-equiv="content-type" content="text/html; charset=gb2312" /

meta http-equiv="content-language" content="zh-cn" /

meta name="author" content="forfor" /

meta name="keywords" content="" /

titleDemo/title

script type="text/javascript"

!--

var IE=false,FF=false,W=window,D=document,H,B,GET="getElementsByTagName",GEI="getElementById",qq=0;

function fold(){

var e;

e=fixE(e);

if(e)element=fixElement(e);

element=element.parentNode.parentNode;

element.className=element.className.indexOf("hide")0?"module":"module hide";

}

var Drag={

draging : false,

x : 0,

y : 0,

element : null,

fDiv : null,

ghost : null,

addEvent : function(){var a=D[GET]("li");for(var i=a.length-1;i-1;i--)if(a[i].className=="module")a[i].onmousedown=Drag.dragStart;},

ix:2,iy:7,

ox:6,oy:7,

fx:6,fy:6,

dragStart : function (e){

if(Drag.draging)return;

var e;

e=fixE(e);

if(e)element=fixElement(e);

/*********

var k,s="";

for(k in element)s+=k+" : "+element[k]+"br/";

D.getElementById("bbb").innerHTML=s;

**********/

D.getElementById("aaa").innerHTML=element.parentNode.offsetTop+ ","+element.parentNode.offsetHeight;

//測試

if(element.className!="title")return;

element=element.parentNode;

Drag.element=element;

//以上獲得當前移動的模塊

Drag.x=e.layerX?e.layerX+Drag.fx:(IE?e.x+Drag.ix:e.offsetX+Drag.ox);

Drag.y=e.layerY?e.layerY+Drag.fy:(IE?e.y+Drag.iy:e.offsetY+Drag.oy);

//鼠標相對于模塊的位置

Drop.measure();

if(e.layerX){Drag.floatIt(e);Drag.drag(e);}//fix FF

B.style.cursor="move";

D.onmousemove=Drag.drag;

D.ondragstart=function(){window.event.returnValue = false;}

D.onselectstart=function(){window.event.returnValue = false;};

D.onselect=function(){return false};

D.onmouseup=element.onmouseup=Drag.dragEnd;

element.onmousedown=null;

},

drag : function (e){

var e;

e=fixE(e);

if(!Drag.fDiv)Drag.floatIt(e);//for IE Opera

var x=e.clientX,y=e.clientY;

Drag.fDiv.style.top=y+H.scrollTop-Drag.y+"px";

Drag.fDiv.style.left=x+H.scrollLeft-Drag.x+"px";

Drop.drop(x,y);

//statu(e);

},

dragEnd : function (e){

B.style.cursor="";

D.ondragstart=D.onmousemove=D.onselectstart=D.onselect=D.onmouseup=null;

Drag.element.onmousedown=Drag.dragStart;

if(!Drag.draging)return;

Drag.ghost.parentNode.insertBefore(Drag.element,Drag.ghost);

Drag.ghost.parentNode.removeChild(Drag.ghost);

B.removeChild(Drag.fDiv);

Drag.fDiv=null;

Drag.draging=false;

Drop.init(D[GEI]("container"));

},

floatIt : function(e){

var e,element=Drag.element;

var ghost=D.createElement("LI");

Drag.ghost=ghost;

ghost.className="module ghost";

ghost.style.height=element.offsetHeight-2+"px";

element.parentNode.insertBefore(ghost,element);

//創(chuàng)建模塊占位框

var fDiv=D.createElement("UL");

Drag.fDiv=fDiv;

fDiv.className="float";

B.appendChild(fDiv);

fDiv.style.width=ghost.parentNode.offsetWidth+"px";

fDiv.appendChild(element);

//創(chuàng)建容納模塊的浮動層

Drag.draging=true;

}

}

var Drop={

root : null,

index : null,

column : null,

init : function(it){

if(!it)return;

Drop.root=it;

it.firstItem=it.lastItem=null;

var a=it[GET]("ul");

for(var i=0;ia.length;i++){

if(a[i].className!="column")continue;

if(it.firstItem==null){

it.firstItem=a[i];

a[i].previousItem=null;

}else{

a[i].previousItem=a[i-1];

a[i-1].nextItem=a[i];

}

a[i].nextItem=null;

it.lastItem=a[i];

a[i].index=i;

a[i].firstItem=a[i].lastItem=null;

var b=a[i][GET]("li");

for(var j=0;jb.length;j++){

if(b[j].className.indexOf("module")==-1)continue;

if(a[i].firstItem==null){

a[i].firstItem=b[j];

b[j].previousItem=null;

}else{

b[j].previousItem=b[j-1];

b[j-1].nextItem=b[j];

}

b[j].nextItem=null;

a[i].lastItem=b[j];

b[j].index=i+","+j;

}

}

},

measure : function(){

if(!Drop.root)return;

var currentColumn=Drop.root.firstItem;

while(currentColumn){

var currentModule=currentColumn.firstItem;

while(currentModule){

currentModule.minY=currentModule.offsetTop;

currentModule.maxY=currentModule.minY+currentModule.offsetHeight;

currentModule=currentModule.nextItem;

}

currentColumn.minX=currentColumn.offsetLeft;

currentColumn.maxX=currentColumn.minX+currentColumn.offsetWidth;

currentColumn=currentColumn.nextItem;

}

Drop.index=Drag.element.index;

},

drop : function(x,y){

if(!Drop.root)return;

var x,y,currentColumn=Drop.root.firstItem;

while(xcurrentColumn.maxX)if(currentColumn.nextItem)currentColumn=currentColumn.nextItem;else break;

var currentModule=currentColumn.lastItem;

if(currentModule)while(ycurrentModule.maxY){

if(ycurrentModule.minY-12){

if(Drop.index==currentModule.index)return;

Drop.index=currentModule.index;

if(currentModule.index==Drag.element.index){if(currentModule.nextItem)currentModule=currentModule.nextItem;else break;}

currentColumn.insertBefore(Drag.ghost,currentModule);

Drop.column=null;

window.status=qq++;

return;

}else if(currentModule.previousItem)currentModule=currentModule.previousItem;else return;

}

if(Drop.column==currentColumn.index)return;

currentColumn.appendChild(Drag.ghost);

Drop.index=0;

Drop.column=currentColumn.index;

window.status=qq++;

}

}

var webNote={

obj : null,

canEdit : function(e){

var e,element;

e=fixE(e);

element=fixElement(e);

if(element.className!='webNote')return;

if(typeof element.contentEditable!="undefined"){

element.contentEditable=true;

element.style.borderColor='red';

element.focus();

webNote.obj=element;

}

},

cannotEdit : function(){

if(!webNote.obj)return;

if(typeof webNote.obj.contentEditable!="undefined"){

webNote.obj.style.borderColor='#ffffe0';

webNote.obj.contentEditable=false;

webNote.obj=null;

}

}

}

function fixE(e){var e;e=e?e:(window.event?window.event:null);return e}

function fixElement(e){var e;return e.target?(e.target.nodeType==3?e.target.parentNode:e.target):e.srcElement;}

onload=function(){

B=D[GET]("body")[0];

H=D[GET]("html")[0];

Drop.init(D[GEI]("container"));

Drag.addEvent();

}

function statu(e){

var e,element;

element=fixElement(e);

var aa=D.getElementById("aaa");

aa.innerHTML="e.xy:("+e.x+","+e.y+")br/e.offsetXY:("+e.offsetX+","+e.offsetY+")br/e.clientXY:("+e.clientX+","+e.clientY+")br/element.offsetLeftTop:("+element.offsetLeft+","+element.offsetTop+")br/e.layerXY:("+e.layerX+","+e.layerY+")";

}

//--

/script

style type="text/css"

body,table,td,th,input,textarea,button,select{font:13px/16px Verdana,"宋體",sans-serif;}

table{border-collapse:collapse;}

p{margin:0px;}

.container{margin:8px;}

.column{width:33%;margin:0px;padding:0px;float:left;overflow:hidden;}

.module{margin:5px;padding:0px;border:1px solid #dcd;position:relative;background-color:white;list-style:none;}

.title{background-color:#edf;padding:1px 0px;width:100%;overflow:hidden;cursor:move;z-index:0;font-weight:bold;}

.cont{padding:3px;overflow:hidden;}

.hide .cont{display:none;}

.pageTitle{font-weight:bold;text-align:center;}

input.pageTitle{display:none;border:0px;padding:0px;width:100%;}

.webNote{background-color:#ffffe0;border:1px solid #ffffe0;}

textarea.webNote{display:none;overflow:hidden;padding:0px;border:0px;padding:0px;}

.ghost{border:1px dashed red;}

.float{position:absolute;z-index:100;margin:0px;padding:0px;overflow:hidden;list-style:none;-moz-opacity:.75;filter:Alpha(opacity=75);}

/style

!--[if IE]

script type="text/javascript"

IE=true;

/script

style type="text/css"

input.pageTitle{margin:-1px;}

/style

![endif]--

![if !IE]![endif]

/head

body

centerspan class="pageTitle" onclick="with(this.nextSibling){value=this.innerHTML;style.display='block';focus()};this.style.display='none';"You can input a topic here!/spaninput class="pageTitle" onblur="with(this.previousSibling){D.title=innerHTML=this.value?this.value:'Demo';style.display='block';};this.style.display='none'" //center

div class="container" id="container"

ul class="column"

li class="module"

div class="title"span onclick="fold()"+/span?Coodinate/div

div class="cont" id="aaa"content/div

/li

li class="module"

div class="title"span onclick="fold()"+/span?contentEditable/div

div class="cont" onclick="alert('this.contentEditable:'+this.contentEditable)"click here/div

/li

li class="module"

div class="title"span onclick="fold()"+/span?long long ago/div

div class="cont"有形者 生于無形 無能生有 有歸于無br/是以 凡所有所相 皆是虛妄br/若是能見諸相非相 當知虛非真虛br/有生之氣 有形之狀 盡是幻也br/造物之所始 陰陽之所變者 謂之生 謂之死br/窮數(shù)達變 因形移易者 謂之化 謂之幻/br了悟有無 參透虛實 自然遨游天地宇宙 無所阻礙br/是謂大幻之道/div

/li

/ul

ul class="column"

li class="module"

div class="title"span onclick="fold()"+/span?this.parentNode/div

div class="cont"button onclick="alert(this.parentNode.parentNode.parentNode.innerHTML)"parentNode/button/div

/li

li class="module"

div class="title"span onclick="fold()"+/span?webNote/div

div class="cont"div class="webNote" onblur="webNote.cannotEdit()" onclick="webNote.canEdit(event)"You can note something here.br/br/從前有座山br/山里有座廟/br廟里有個老和尚講故事/divtextarea class="webNote"/textarea/div

/li

li class="module"

div class="title"span onclick="fold()"+/span?Google/div

div class="cont"centera href="" style="font:bold 31px/2 Arial;"Gooooooogle/a/center/div

/li

/ul

ul class="column"

li class="module"

div class="title"span onclick="fold()"+/span?pia~~/div

div class="cont"十里平湖霜滿天br/寸寸青絲愁華年br/對月形單忘相護br/只羨鴛鴦不羨仙/div

/li

li class="module"

div class="title"span onclick="fold()"+/span?biu~~/div

div class="cont"您好!br/主人不在,您可以在biu~的一聲后留言br/biu~~/div

/li

li class="module"

div class="title"span onclick="fold()"+/span?無話可說/div

div class="cont" id="bbb"吃葡萄不吐葡萄皮br/不吃葡萄倒吐葡萄皮br/(字數(shù)不夠,再吃一遍......)/div

/li

/ul

/div

div style="font-size:10px;line-height:14px;clear:both;margin:6px 3%;text-align:center;border:1px solid #eee;"?2006 forfor/div

/body

/html

如何自己設計wordpress評論列表及評論框

自己設計wordpress評論列表及評論框方法:

?php if('open' == $post-comment_status $parent_comment_status == 'open') : // 如果文章允許評論 ?

div id="comments"

?php if(have_comments()) : ?

?? ?div已有?php comments_number('0','1','%'); ?條評論 a id="to-quick-respond" style="color: #bc373a;" href="#respond"快速評論/a/div

?? ?ol id="comments-lists"?php wp_list_comments(array('callback' = 'mytheme_comment'));?/ol

?? ??php if(get_comment_pages_count()-1 == get_option('page_comments')) : // 如果條數(shù)大于規(guī)定的條數(shù),那么就要翻頁了 ?

?? ??? ?div id="comment-navi"/div

?? ??php endif; // 翻頁導航結(jié)束 ?

?php endif; // 評論列表結(jié)束 ?

div id="respond"

?php if(get_option('comment_registration') !is_user_logged_in()) : //如果文章設置了必須登錄才能評論 ?

?? ?你必須a href="?php wp_login_url(get_permalink()); ?"登錄/a才能評論!

?php else : //文章不用登錄就能評論 ?

form id="commentform" action="?php bloginfo('url'); ?/wp-comments-post.php" method="post"

?? ??php if(isset($_GET['replytocom']) $_GET['replytocom'] != '') : ?

?? ?div

?? ??? ?您正在回復?php echo comment_author($_GET['replytocom']); ?a style="color: #f00;" href="#comment-?php echo $_GET['replytocom']; ?" rel="nofollow"@?php echo $_GET['replytocom']; ?樓/a a href="?php the_permalink(); ?#comment-?php echo $_GET['replytocom']; ?" rel="nofollow"取消/a

?? ??? ?!-- 這里需要注意:由于我的主題是用我自己的方式取消回復,如果使用wordpress自己的取消按鈕,請使用?php cancel_comment_reply_link('取消'); ? --

?? ?/div

?? ??php endif; ?

?? ??php if(is_user_logged_in()) : // 如果用戶已經(jīng)登錄 ?

?? ?div親愛的strong?php echo $user_identity; ?/strong 您已經(jīng)登錄啦! a href="?php echo admin_url('profile.php'); ?"修改信息/a a href="?php echo wp_logout_url(get_permalink()); ?"注銷/a 趕快評論??!/div

?? ??php elseif($comment_author != '') : // 如果用戶沒有登錄,而之前又已經(jīng)進行了評論,被記錄的email信息 ?

?? ?div親愛的strong?php echo $comment_author; ?/strong 歡迎回來!a id="toggle-comment-author-info" href="javascript:toggleCommentAuthorInfo();"?php _e('修改信息'); ?/a 留下您的回復吧/div

?? ?div id="comment-author-info" style="display: none;"input id="author" type="text" name="author" value="?php echo $comment_author; ?" /label for="author"?php _e('昵稱'); ??php if ($req) echo " *"; ?/label

?? ?input id="email" type="text" name="email" value="?php echo $comment_author_email; ?" /label for="email"?php _e('郵箱'); ??php if ($req) echo " *"; ?/label

?? ?input id="url" type="text" name="url" value="?php echo $comment_author_url; ?" /label for="url"?php _e('個人主頁'); ?/label/div

?? ?script type="text/javascript"

?? ?var changeMsg = '修改信息';

?? ?var closeMsg = '隱藏信息';

?? ?function toggleCommentAuthorInfo(){

?? ??? ?var $info_box = $('#comment-author-info'),$tog_btn = $('#toggle-comment-author-info');

?? ??? ?$info_box.slideToggle('slow', function(){

?? ??? ??? ?if($info_box.css('display') == 'none'){

?? ??? ??? ??? ?$tog_btn.text(changeMsg);

?? ??? ??? ?}else{

?? ??? ??? ??? ?$tog_btn.text(closeMsg);

?? ??? ??? ?}

?? ??? ?});

?? ?}

?? ?/script

?? ??php else : //既沒登錄,也沒之前留言情況下 ?

?? ?div填寫個人信息,趕快回復吧!/div

?? ?div id="comment-author-info"input id="author" type="text" name="author" value="" /label for="author"?php _e('昵稱'); ??php if ($req) echo " *"; ?/label

?? ?input id="email" type="text" name="email" value="" /label for="email"?php _e('郵箱'); ??php if ($req) echo " *"; ?/label

?? ?input id="url" type="text" name="url" value="" /label for="url"?php _e('個人主頁'); ?/label/div

?? ??php endif; ?

?? ?div id="comment-text"textarea id="comment" name="comment"/textarea/div

?? ?div

?? ??? ?button id="submit" name="submit" type="submit"?php _e('提交'); ?/button

?? ??? ?spana id="insert_comment_img" onclick="return insertImg('comment');" href="#"插入圖片/a/span

?? ??? ??php if(function_exists('add_mail_to_comment_checkbox'))add_mail_to_comment_checkbox(); ?

?? ??? ?input type="hidden" name="redirect_to" value="?php the_permalink(); ?" /

?? ??? ??php do_action('comment_form', $post-ID); ?

?? ??? ??php comment_id_fields(); ?

?? ??? ?div/div

?? ?/div

?? ?script type="text/javascript"

?? ?// Ctrl+Enter提交評論

?? ?$(document).keypress(function(e){

?? ??? ?if(e.ctrlKey e.which == 13 || e.which == 10) {

?? ??? ??? ?$("#submit").click();

?? ??? ??? ?document.body.focus();

?? ??? ?} else if (e.shiftKey e.which==13 || e.which == 10) {

?? ??? ??? ?$("#submit").click();

?? ??? ?}

?? ?});

?? ?/script

/form?php endif; // 回復部分結(jié)束 ?

/div!-- end of #respond --

/div!-- endi of #comment --

?php endif; //如果文章允許評論的話,到這里結(jié)束

新聞標題:zblogendif的簡單介紹
文章起源:http://bm7419.com/article6/ddejcig.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務微信小程序、微信公眾號、用戶體驗、品牌網(wǎng)站設計、外貿(mào)網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營