banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Messages posted by: chuatto  XML
Profile for chuatto Messages posted by chuatto [ number of posts not being displayed on this page: 1 ]
 
YUI là 1 tập thư viện javascript va css. Giúp lập trình viên dễ dàng tạo ra giao diện web o phía client side, làm được nhiều thứ mà HTML không làm được. Kỹ thuật AJAX cũng được tích hợp sẵn. Dùng AJAX qua YUI thì phải nói là sướng cực

YUI nằm o client side nên có thể kết hợp tốt với bất kỳ ngôn ngữ nào chạy ở sever side như PHP, Jsp/Servlet, Ruby, CGI,...
Do nhu cầu phát triển và thành lập chi nhánh tại Việt Nam, Công ty Kokolink (www.kokolink.net) cần tuyển 10 nhân viên để đưa sang Nhật đào tạo và làm việc trong 2 năm. Sau đó sẽ về làm cho chi nhánh của công ty tại Thành Phố Hồ Chí Minh.

Vị trí tuyển dụng:
- Kỹ sư phần mềm.

Yêu cầu:
- Có kiến thức về OOP.
- Thông thạo Java.
- Tốt nghiệp đại học.
- Có khả năng giao tiếp bằng tiếng Anh, biết tiếng Nhật là một lợi thế.
- Ưu tiên các bạn đã quen với môi trường Unix/Linux

Quyền lợi:
- Mức lương cơ bản 180.000 yên/tháng
- Được đào tạo về kỹ thuật và tiếng Nhật
- Được đóng đầy đủ các khoản bảo hiểm xã hội, y tế
- Mỗi năm được thưởng tương đương 4 tháng lương.
- Ngày nghỉ: thứ bảy, chủ nhật, các ngày lễ.
- Công ty hỗ trợ thuê nhà gần chỗ làm.
- Cộng ty sẽ lo toàn bộ thủ tục, vé máy bay ... để đưa các bạn sang Nhật, các bạn sẽ không tốn bất kỳ chi phí nào.

Hồ sơ bao gồm:
- CV
- Source code của một chương trình của bạn viết bằng Java (giải thích tóm tắt kỹ thuật đã sử dụng, chức năng, ... ) để công ty đánh giá khả năng của bạn. (Tất cả nên viết bằng tiếng Anh)
Hạn chót nhận hồ sơ: 15/03/2009.
Mọi thắc mắc và hồ sơ các bạn gởi tới: thanhthuat@kokolink.net
Sau khi nhận hồ sơ của các bạn, công ty sẽ xem xét, đánh giá và sẽ tổ chức phỏng vấn tại Thành phố Hồ Chí Minh đối với các hồ sơ đạt yêu cầu.
Những lỗi này có thể catch lại toàn bộ thay vì ném cái exception đến user.
Sau khi tìm hiểu thì thấy rằng:
- Nếu Servlet implement SingleThreadedModel thì Servlet engine chỉ xử lý 1 request tại 1 thời điểm. Java tạo ra lớp này có lẽ là để dùng cho những ứng dụng có ít người truy cập, và lập trình viên không phải lo lắng về vấn đề thread-safe.
- By default, Servlet engine sẽ tạo ra 1 thread mới cho mỗi request, assign thread này đến hàm service() và sẽ hủy thread này đi khi hàm service() đã thực thi xong. Như vậy ta có thể cải thiện tốc độ xử lý của Servlet engine bằng cách sử dụng Thread Pool, Servlet engine sẽ không phải lặp di lặp lại quá trình tạo/hủy thread khi có request mới.

Việc cấu hình cho Thread Pool tùy thuộc vào Servlet engine. Ví dụ như đối với Tomcat'Servlet engine việc cấu hình nằm trong file conf/server.xml. Chi tiết bạn có thể tham khảo tại http://tomcat.apache.org/tomcat-6.0-doc/config/executor.html

Khi có nhiều request đồng thời, Servlet sẽ xử lý như thế nào? Có phải nó sẽ tạo ra nhiều Thread?
Hôm trước có 1 thread mọi người thảo luận nảy lửa về PHP và JSP, nhân tiện giải thích luôn nếu là PHP thì nó sẽ xử lý như thế nào?

Mong mọi người giải thích giúp.
Cám ơn nhiều.
Đoạn code bạn gởi là header của request.
Nếu tôi nhớ không lầm thì IP (source và destination ) chứa trong IP header. Ở nơi này thì PHP không có khả năng với tới được
Đăy là một sniffer đơn giản sử dụng raw socket, chạy trên Linux.
Cấu trúc thông thường của một Ethernet frame sử dụng TCP/IP protocol:
- 14 bytes cho Ehternet Header
- 20 bytes cho Ip Header
- 20 bytes cho Tcp Header
- Tiếp theo la phần của Payload
- Cuối cùng la 4 bytes cho Ethernet trailer

Như vậy với Packet ta bắt được thì
- Phần đầu là của Ethernet Header
- (packet + 14) là của Ip header
- (packet + 14 + 20) la của Tcp Header
- (packet + 14 +20 +20) là của Payload

Tạo file sniffer.c có nội dung như sau:

Code:
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <linux/if_packet.h>
#include <net/ethernet.h>
#include <errno.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
int CreateRawSocket(int protocol_to_sniff) {
int rawsock;
if( (rawsock = socket(PF_PACKET,SOCK_RAW, htons(protocol_to_sniff))) == -1) {
perror("Error creating raw socket");
exit(-1);
}
return rawsock;
}
void PrintInHex(char *mesg, unsigned char *p, int len){
printf(mesg);
while(len--){
fprintf(stdout, "%.2X ", *p);
p++;
}
}
void PrintEthernetHeader(unsigned char *packet){
struct ether_header *ethernet_header;
ethernet_header = (struct ether_header *)packet;
/* First set of 6 bytes are Destination MAC */
PrintInHex("Destination MAC: ", ethernet_header->ether_dhost, 6);
fprintf(stdout, "\n");
/* Second set of 6 bytes are Source MAC */
PrintInHex("Source MAC: ", ethernet_header->ether_shost, 6);
fprintf(stdout, "\n");
if(ntohs(ethernet_header->ether_type) == ETHERTYPE_IP){
printf("Ethernet type: IP \n");
}else if(ntohs(ethernet_header->ether_type) == ETHERTYPE_ARP){
printf("Ethernet type: ARP \n");
}else{
printf("Ethernet type: unknown \n");
}
}
void PrintIpHeader(char *packet) {
struct ip *iphdr;
fprintf(stdout, "**************** Print IP Header ****************\n");
iphdr = (struct ip *)(packet + sizeof(struct ether_header));
fprintf(stdout, "IP Source: %s \n",inet_ntoa(iphdr->ip_src));
fprintf(stdout, "IP Destination %s \n",inet_ntoa(iphdr->ip_dst));
fprintf(stdout, "ttl %d \n",iphdr->ip_ttl);
fprintf(stdout, "**************** the end IP Header **************\n");
}
void PrintTcpHeader(char *packet) {
struct tcphdr *tcphdr;
tcphdr = (struct tcphdr *) (packet + sizeof(struct ether_header) + sizeof(struct ip));
printf("****************** Print TCP Header *********************** \n");
printf("source port %d \n", ntohs(tcphdr->source));
printf("destination port %d \n", ntohs(tcphdr->dest));
printf("seq: %d \n",ntohl(tcphdr->seq));
printf("ACK: %d\n",ntohl(tcphdr->ack));
printf("****************** the end TCP Header ********************* \n");
}
int PrintData(unsigned char *packet)
{
struct iphdr *ip_header;
struct tcphdr *tcp_header;
unsigned char *data;
int data_len;
ip_header = (struct iphdr*)(packet + sizeof(struct ether_header));
data = (packet + sizeof(struct ether_header) + ip_header->ihl*4 +sizeof(struct tcphdr));
data_len = ntohs(ip_header->tot_len) - ip_header->ihl*4 - sizeof(struct tcphdr);
if(data_len){
fprintf(stdout, "Data Len : %d\n", data_len);
PrintInHex("Data : ", data, data_len);
printf("\n\n");
return 1;
}else{
fprintf(stdout, "No Data in packet\n");
return 0;
}
}
int main(int argc, char **argv){
int raw;
unsigned char packet_buffer[2048];
int len;
struct sockaddr_ll packet_info;
int packet_info_size = sizeof(packet_info);
/* create the raw socket */
raw = CreateRawSocket(ETH_P_IP);
/* Start Sniffing */
while(1) {
if((len = recvfrom(raw, packet_buffer, 2048, 0, (struct sockaddr*)&packet_info, &packet_info_size)) == -1){
perror("Recv from returned -1: ");
exit(-1);
}else{
/* Packet has been received successfully !! */
PrintEthernetHeader(packet_buffer);
PrintIpHeader(packet_buffer);
PrintTcpHeader(packet_buffer);
PrintData(packet_buffer);
}
}
return 0;
}


Compile :

Code:
gcc sniffer.c -o sniffer.o

Chạy chương trình
Code:
./sniffer.o eth0

Tham khảo từ nguồn http://security-freak.net
Have a good time with sniff
Thay vì upload tới thư mục, bạn có thể lưu thẳng vào database
Không hiểu câu hỏi của bạn, muốn tạo RSS cho trang web của bạn hay là lấy thông tin từ RSS của các trang web khác?
Và trang web của bạn được viết bằng ngôn ngữ gì?
 

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|